diff --git a/src/r_segs.c b/src/r_segs.c
index 267c1d47d63ff32a56d6e6b0330783397dacfee3..453debeb6ef69840329270624f70dddae4603f49 100644
--- a/src/r_segs.c
+++ b/src/r_segs.c
@@ -441,7 +441,7 @@ static void R_DrawRepeatMaskedColumn(column_t *col, unsigned lengthcol)
 {
 	while (sprtopscreen < sprbotscreen) {
 		R_DrawMaskedColumn(col, lengthcol);
-		if ((INT64)sprtopscreen + dc_texheight*spryscale > (INT64)INT32_MAX) // prevent overflow
+		if ((INT64)sprtopscreen + (INT64)dc_texheight*spryscale > (INT64)INT32_MAX) // prevent overflow
 			sprtopscreen = INT32_MAX;
 		else
 			sprtopscreen += dc_texheight*spryscale;