diff --git a/src/p_user.c b/src/p_user.c
index b48134c9c8ef9f95aca603e20691181b34bfe6a2..d515b4d9befd6a6662ab4a57c4c9588aa2b37d32 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -7492,14 +7492,14 @@ static void P_NiGHTSMovement(player_t *player)
 	{
 		player->pflags &= ~PF_STARTJUMP;
 
-		if (cmd->sidemove != 0)
-			moved = true;
+		if (cmd->sidemove != 0) // TODO: 2.3: Delete this line and...
+			moved = true; // ...this line, as this is just for older demo support
 
 		if (player->drillmeter & 1)
 			player->drillmeter++; // I'll be nice and give them one.
 	}
 
-	if (cmd->forwardmove != 0)
+	if (cmd->forwardmove != 0 || (cmd->sidemove != 0 && !(demoplayback && demoversion < 0x0012)))
 		moved = true;
 
 	if (!player->bumpertime)