diff --git a/src/r_segs.c b/src/r_segs.c
index d656108f61d50f45aa7bedd529ee29abc0f480b4..ff8de7cac72992e1b9ec15ab9fe35b4dd1cb356d 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -927,6 +927,8 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
 						}
 					}
 
+					solid = 0; // don't carry over solid-cutting flag from the previous light
+
 					// Check if the current light can cut the current 3D floor.
 					if (rlight->flags & FF_CUTSOLIDS && !(pfloor->flags & FF_EXTRA))
 						solid = 1;