diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index aeafe4aad..ac4864c96 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -2171,10 +2171,11 @@ static void clean_up_after_endstop_or_probe_move() { #else - // move fast, close to the bed - float z = LOGICAL_Z_POSITION(home_bump_mm(Z_AXIS)); - if (zprobe_zoffset < 0) z -= zprobe_zoffset; - do_blocking_move_to_z(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); + // If the nozzle is above the travel height then + // move down quickly before doing the slow probe + float z = LOGICAL_Z_POSITION(Z_PROBE_TRAVEL_HEIGHT); + if (z < current_position[Z_AXIS]) + do_blocking_move_to_z(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST)); #endif