diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index 37a27eac86061af08b0f6b3788be2c53585f7a02..aeafe4aad02eeda3a78c565efdeaa91891e2fff7 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -2179,7 +2179,7 @@ static void clean_up_after_endstop_or_probe_move() {
     #endif
 
     // move down slowly to find bed
-    do_probe_move(-10, Z_PROBE_SPEED_SLOW);
+    do_probe_move(-(Z_MAX_LENGTH) - 10, Z_PROBE_SPEED_SLOW);
 
     #if ENABLED(DEBUG_LEVELING_FEATURE)
       if (DEBUGGING(LEVELING)) DEBUG_POS("<<< run_z_probe", current_position);