diff --git a/src/r_segs.c b/src/r_segs.c
index ae1f406497ad06aec82a3cc4ea0a89fe5fb6a687..574421fb0d5ed2835bfa2cfe577ee85cb8f2c2f3 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -1053,6 +1053,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;