diff --git a/src/p_spec.c b/src/p_spec.c
index 30564ea23dc22813cf5dab2a4610c919d7d9a494..694893502e503db48c978e0cd2dfb568763fb77f 100644
--- a/src/p_spec.c
+++ b/src/p_spec.c
@@ -4413,7 +4413,7 @@ static void P_PlayerOnSpecial3DFloor(player_t *player, sector_t *sector)
 		else
 		{
 			// Water and DEATH FOG!!! heh
-			if (player->mo->z > P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector) || (player->mo->z + player->mo->height) < P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector))
+			if (player->mo->z > P_GetSpecialTopZ(player->mo, sectors + rover->secnum, sector) || (player->mo->z + player->mo->height) < P_GetSpecialBottomZ(player->mo, sectors + rover->secnum, sector))
 				continue;
 		}