diff --git a/src/p_mobj.c b/src/p_mobj.c
index 9017c2f162c2f1d4cd20e8ae865f6afb39c3b6ec..36253569b96b0a21d4e670721d9f136e7b5c9296 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -1456,7 +1456,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
 			if ((rover->flags & (FF_SWIMMABLE|FF_GOOWATER)) == (FF_SWIMMABLE|FF_GOOWATER))
 				goopgravity = true;
 
-			gravfactor = P_GetSectorGravityFactor(mo->subsector->sector);
+			gravfactor = P_GetSectorGravityFactor(rover->master->frontsector);
 
 			if (gravfactor == FRACUNIT)
 				continue;