diff --git a/src/p_map.c b/src/p_map.c
index 28bfd280665b7c45b203d2afd9d6d80502adbb09..dee1b5c40435fd5bde37ad77b939cbfe64f41ba0 100644
--- a/src/p_map.c
+++ b/src/p_map.c
@@ -3199,7 +3199,7 @@ static boolean P_IsClimbingValid(player_t *player, angle_t angle)
 				&& glidesector->sector->ceilingpic == skyflatnum)
 				return false;
 
-			if ((player->mo->z + FixedMul(16*FRACUNIT,player->mo->scale) < ceilingz)
+			if ((player->mo->z + FixedMul(16*FRACUNIT,player->mo->scale) < floorz)
 				|| (player->mo->z >= ceilingz))
 				floorclimb = true;
 		}