diff --git a/src/lua_baselib.c b/src/lua_baselib.c
index 1ffa3968be16bf8ae67b04461f12b4a6d8d1f77b..0422191ecd989833e2b208fe179c4321aac28008 100644
--- a/src/lua_baselib.c
+++ b/src/lua_baselib.c
@@ -722,6 +722,12 @@ static int lib_pSpawnLockOn(lua_State *L)
 		visual->flags2 |= MF2_DONTDRAW;
 		visual->drawonlyforplayer = player; // Hide it from the other player in splitscreen, and yourself when spectating
 		P_SetMobjStateNF(visual, state);
+
+		// This is also handled in P_SceneryThinker, but we want to set it here
+		// so we dont get any weird interp. lag as it properly scales -luigi budd
+		P_SetScale(visual, lockon->scale, false);
+		visual->destscale = lockon->destscale;
+		visual->old_scale = lockon->old_scale;
 	}
 	return 0;
 }