diff --git a/src/p_mobj.c b/src/p_mobj.c
index 91451e06e4fc95c585591f77e47b89b78075cf02..a66e9cf7c34b2b07b79587ba7c33e7508ade8353 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -1278,7 +1278,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
 
 		for (rover = mo->subsector->sector->ffloors; rover; rover = rover->next)
 		{
-			if (!((rover->flags & FF_EXISTS) && (P_InsideANonSolidFFloor(mo, rover))))
+			if (!(rover->flags & FF_EXISTS) || !P_InsideANonSolidFFloor(mo, rover))
 				continue;
 
 			if ((rover->flags & (FF_SWIMMABLE|FF_GOOWATER)) == (FF_SWIMMABLE|FF_GOOWATER))