diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp
index 8b42b1c99f..3bfd0cb902 100644
--- a/Marlin/src/module/probe.cpp
+++ b/Marlin/src/module/probe.cpp
@@ -538,13 +538,12 @@ static float run_z_probe() {
 
   #else
 
-    // If the nozzle is above the travel height then
+    // If the nozzle is well over the travel height then
     // move down quickly before doing the slow probe
-    float z = Z_CLEARANCE_DEPLOY_PROBE;
+    float z = Z_CLEARANCE_DEPLOY_PROBE + 5.0;
     if (zprobe_zoffset < 0) z -= zprobe_zoffset;
 
-    if (z < current_position[Z_AXIS]) {
-
+    if (current_position[Z_AXIS] > z) {
       // If we don't make it to the z position (i.e. the probe triggered), move up to make clearance for the probe
       if (!do_probe_move(z, Z_PROBE_SPEED_FAST))
         do_blocking_move_to_z(current_position[Z_AXIS] + Z_CLEARANCE_BETWEEN_PROBES, MMM_TO_MMS(Z_PROBE_SPEED_FAST));