diff --git a/src/p_tick.c b/src/p_tick.c
index 451e5e6266d9084586e21f0211e9a4ff3b15210d..a2ea2ff0f1316b19828891c3f3665cda3a87c2d8 100644
--- a/src/p_tick.c
+++ b/src/p_tick.c
@@ -643,7 +643,12 @@ void P_Ticker(boolean run)
 		if (demorecording)
 			G_WriteDemoTiccmd(&players[consoleplayer].cmd, 0);
 		if (demoplayback)
+		{
 			G_ReadDemoTiccmd(&players[consoleplayer].cmd, 0);
+			P_SetPlayerAngle(&players[consoleplayer], players[consoleplayer].mo->angle);
+			P_ForceLocalAngle(&players[consoleplayer], players[consoleplayer].mo->angle);
+			localaiming = players[consoleplayer].aiming;
+		}
 
 		ps_lua_mobjhooks = 0;
 		ps_checkposition_calls = 0;