diff --git a/src/p_mobj.c b/src/p_mobj.c
index a8e6008e3af6ec95278bfb57b2fa02ee445e26ad..53bf74936ec47a62307939a29ec868237fce5538 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -3126,7 +3126,7 @@ void P_MobjCheckWater(mobj_t *mobj)
 		}
 
 		// TODO 2.3: remove the demo compat check and fix goop to not jank out
-		if ((rover->fofflags & FOF_GOOWATER) || (demoversion < 0x0012))
+		if ((rover->fofflags & FOF_GOOWATER) || (demoplayback && demoversion < 0x0012))
 			fakemomz = 0;
 
 		// Set the watertop and waterbottom