diff --git a/src/g_demo.c b/src/g_demo.c
index e45f23b62446d280883f6d36816214dab696a381..0f72ad1094e443523f6be3fdb6b5fa345fa48539 100644
--- a/src/g_demo.c
+++ b/src/g_demo.c
@@ -625,7 +625,7 @@ void G_ConsGhostTic(void)
 		if (followtic & FZT_SCALE)
 			demo_p += sizeof(fixed_t);
 		// momx, momy and momz
-		demo_p += (demoversion < 0x000e) ? sizeof(UINT16) * 3 : sizeof(fixed_t) * 3;
+		demo_p += (demoversion < 0x000e) ? sizeof(INT16) * 3 : sizeof(fixed_t) * 3;
 		if (followtic & FZT_SKIN)
 			demo_p++;
 		demo_p += sizeof(UINT16);
@@ -2163,7 +2163,7 @@ void G_AddGhost(char *defdemoname)
 	count = READUINT16(p);
 	while (count--)
 	{
-		p += 2;
+		SKIPSTRING(p);
 		SKIPSTRING(p);
 		p++;
 	}