diff --git a/src/r_segs.c b/src/r_segs.c
index 8f271bfe3df8b9ca6e39e9d6d89372888bc1d752..3059860cfc0983afc1ea3abd65765f8c815a7c33 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -706,10 +706,10 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
 // Loop through R_DrawMaskedColumn calls
 static void R_DrawRepeatMaskedColumn(column_t *col)
 {
-	do {
+	while (sprtopscreen < sprbotscreen) {
 		R_DrawMaskedColumn(col);
 		sprtopscreen += dc_texheight*spryscale;
-	} while (sprtopscreen < sprbotscreen);
+	}
 }
 
 //