diff --git a/src/r_things.c b/src/r_things.c
index 7000dc05b63abf6286bbfa0f5eb03ff945d14405..e581b124b3cf6ec7ee6a5008203d8873c944a7b2 100644
--- a/src/r_things.c
+++ b/src/r_things.c
@@ -884,6 +884,7 @@ static void R_DrawVisSprite(vissprite_t *vis)
 		if (!vis->isScaled)
 		{
 			vis->scale = FixedMul(vis->scale, this_scale);
+			vis->scalestep = FixedMul(vis->scalestep, this_scale);
 			spryscale = vis->scale;
 			dc_iscale = FixedDiv(FRACUNIT, vis->scale);
 			vis->xiscale = FixedDiv(vis->xiscale,this_scale);
@@ -925,7 +926,7 @@ static void R_DrawVisSprite(vissprite_t *vis)
 		if (vis->scalestep)
 		{
 			sprtopscreen = (centeryfrac - FixedMul(dc_texturemid, spryscale));
-			dc_iscale = FixedDiv((0xffffffffu / (unsigned)spryscale), this_scale);
+			dc_iscale = (0xffffffffu / (unsigned)spryscale)
 		}
 		if (vis->vflip)
 			R_DrawFlippedMaskedColumn(column, patch->height);