diff --git a/source/games/blood/src/nnexts.cpp b/source/games/blood/src/nnexts.cpp
index 8a4f9b250..eeefbcd52 100644
--- a/source/games/blood/src/nnexts.cpp
+++ b/source/games/blood/src/nnexts.cpp
@@ -9190,8 +9190,7 @@ void callbackUniMissileBurst(DBloodActor* actor, sectortype*) // 22
 		burstactor->clipdist = actor->clipdist * 0.25;
 		burstactor->spr.flags = actor->spr.flags;
 		burstactor->spr.CopyScale(&actor->spr);
-		burstactor->spr.MultScaleX(0.5);
-		burstactor->spr.MultScaleY(0.5);
+		burstactor->spr.MultScale(0.5);
 
 		burstactor->spr.angle = actor->spr.angle + mapangle(missileInfo[actor->spr.type - kMissileBase].angleOfs);
 		burstactor->SetOwner(actor);
diff --git a/source/games/duke/src/actors.cpp b/source/games/duke/src/actors.cpp
index e2e938499..331d1b4b1 100644
--- a/source/games/duke/src/actors.cpp
+++ b/source/games/duke/src/actors.cpp
@@ -2418,8 +2418,7 @@ void glasspieces(DDukeActor* actor)
 		if (sectp->lotag == 2)
 			actor->vel.Z *= 0.5;
 
-		actor->spr.MultScaleX(0.5);
-		actor->spr.MultScaleY(0.5);
+		actor->spr.MultScale(0.5);
 		if (rnd(96))
 			SetActor(actor, actor->spr.pos);
 		actor->temp_data[0]++;//Number of bounces
diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp
index e7f26ed4b..1f8fe448d 100644
--- a/source/games/duke/src/actors_r.cpp
+++ b/source/games/duke/src/actors_r.cpp
@@ -1848,14 +1848,12 @@ static void rrra_specialstats()
 			case MAMA:
 				if (enemysizecheat == 3)
 				{
-					act->spr.MultScaleX(2);
-					act->spr.MultScaleY(2);
+					act->spr.MultScale(2);
 					act->setClipDistFromTile();
 				}
 				else if (enemysizecheat == 2)
 				{
-					act->spr.MultScaleX(0.5);
-					act->spr.MultScaleY(0.5);
+					act->spr.MultScale(0.5);
 					act->clipdist = MulScale(act->spr.xrepeat, tileHeight(act->spr.picnum), 7) * 0.25;
 				}
 				break;
diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp
index 201ff265a..f37387ba5 100644
--- a/source/games/duke/src/player_d.cpp
+++ b/source/games/duke/src/player_d.cpp
@@ -760,8 +760,7 @@ static void shootrpg(DDukeActor *actor, int p, DVector3 pos, DAngle ang, int atw
 	else
 	{
 		spawned->spr.yint = gs.numfreezebounces;
-		spawned->spr.MultScaleX(0.5);
-		spawned->spr.MultScaleY(0.5);
+		spawned->spr.MultScale(0.5);
 		spawned->vel.Z -= 0.25;
 	}
 
@@ -829,8 +828,7 @@ static void shootrpg(DDukeActor *actor, int p, DVector3 pos, DAngle ang, int atw
 			DVector2 spawnofs(ang.Sin()* 4, ang.Cos() * -4);
 			spawned->spr.pos += spawnofs;
 		}
-		spawned->spr.MultScaleX(0.5);
-		spawned->spr.MultScaleY(0.5);
+		spawned->spr.MultScale(0.5);
 	}
 
 	spawned->spr.cstat = CSTAT_SPRITE_YCENTER;
diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp
index 170241252..64e45a55b 100644
--- a/source/games/duke/src/player_r.cpp
+++ b/source/games/duke/src/player_r.cpp
@@ -692,8 +692,7 @@ static void shootrpg(DDukeActor* actor, int p, DVector3 pos, DAngle ang, int atw
 	else
 	{
 		spawned->spr.yint = gs.numfreezebounces;
-		spawned->spr.MultScaleX(0.5);
-		spawned->spr.MultScaleY(0.5);
+		spawned->spr.MultScale(0.5);
 		spawned->vel.Z -= 0.125;
 	}
 
@@ -726,8 +725,7 @@ static void shootrpg(DDukeActor* actor, int p, DVector3 pos, DAngle ang, int atw
 			DVector2 spawnofs(ang.Sin() * 4, ang.Cos() * -4);
 			spawned->spr.pos += spawnofs;
 		}
-		spawned->spr.MultScaleX(0.5);
-		spawned->spr.MultScaleY(0.5);
+		spawned->spr.MultScale(0.5);
 	}
 
 	spawned->spr.cstat = CSTAT_SPRITE_YCENTER;
diff --git a/source/games/duke/src/spawn_r.cpp b/source/games/duke/src/spawn_r.cpp
index eb21eb663..fc1dc77e8 100644
--- a/source/games/duke/src/spawn_r.cpp
+++ b/source/games/duke/src/spawn_r.cpp
@@ -253,8 +253,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
 	rrra_badguy:
 		if (act->spr.picnum == JIBS6)
 		{
-			act->spr.MultScaleX(0.5);
-			act->spr.MultScaleY(0.5);
+			act->spr.MultScale(0.5);
 		}
 		else if (isRRRA())
 		{