diff --git a/src/r_segs.c b/src/r_segs.c
index bac90eb1644638f1cb6e6a42b65207fd617ebb3e..95227ba6a28f72d30a4863c0122d114a5be5641c 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -963,6 +963,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;