diff --git a/src/p_mobj.c b/src/p_mobj.c
index 6337730fb4ada076cb6ba647e0f604a4e4ee5e91..0d7f8884642294d06f308b8db7d569740553d470 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -1328,7 +1328,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
 			gravityadd = -gravityadd;
 			mo->eflags ^= MFE_VERTICALFLIP;
 		}
-		if (!(mo->eflags & MFE_VERTICALFLIP) == wasflip)
+		if (wasflip == !(mo->eflags & MFE_VERTICALFLIP)) // note!! == ! is not equivalent to != here - turns numeric into bool this way
 			P_PlayerFlip(mo);
 	}
 	else