diff --git a/src/p_mobj.c b/src/p_mobj.c
index 414d0435c7246fea7e2669f826bf66cc25cf5bda..8b6b66849d56f0e2b380925885a5e296f399e99f 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -13077,8 +13077,8 @@ static mobj_t *P_SpawnMobjFromMapThing(mapthing_t *mthing, fixed_t x, fixed_t y,
 	mobj = P_SpawnMobj(x, y, z, i);
 	mobj->spawnpoint = mthing;
 
-	P_SetScale(mobj, mthing->scale);
-	mobj->destscale = mthing->scale;
+	P_SetScale(mobj, FixedMul(mobj->scale, mthing->scale));
+	mobj->destscale = FixedMul(mobj->destscale, mthing->scale);
 
 	if (!P_SetupSpawnedMapThing(mthing, mobj, &doangle))
 		return mobj;