diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 75c472ea8..18cb090d1 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1828,6 +1828,9 @@ static void clean_up_after_endstop_or_probe_move() { float z_dest = LOGICAL_Z_POSITION(z_raise); if (zprobe_zoffset < 0) z_dest -= zprobe_zoffset; + #if ENABLED(DELTA) + z_dest -= home_offset[Z_AXIS]; + #endif if (z_dest > current_position[Z_AXIS]) do_blocking_move_to_z(z_dest); @@ -2254,6 +2257,9 @@ static void clean_up_after_endstop_or_probe_move() { // move down quickly before doing the slow probe float z = LOGICAL_Z_POSITION(Z_CLEARANCE_BETWEEN_PROBES); if (zprobe_zoffset < 0) z -= zprobe_zoffset; + #if ENABLED(DELTA) + z -= home_offset[Z_AXIS]; + #endif if (z < current_position[Z_AXIS]) do_blocking_move_to_z(z, MMM_TO_MMS(Z_PROBE_SPEED_FAST));