diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index 4bef0dd747..a0a12ea621 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -38,7 +38,7 @@ #include "../../../gcode/gcode.h" #include "../../../libs/least_squares_fit.h" - #if ENABLED(DUAL_X_CARRIAGE) + #if HOTENDS > 1 #include "../../../module/tool_change.h" #endif @@ -305,12 +305,15 @@ const int8_t p_val = parser.intval('P', -1); const bool may_move = p_val == 1 || p_val == 2 || p_val == 4 || parser.seen('J'); + #if HOTENDS > 1 + const uint8_t old_tool_index = active_extruder; + #endif // Check for commands that require the printer to be homed if (may_move) { planner.synchronize(); if (axes_need_homing()) gcode.home_all_axes(); - #if ENABLED(DUAL_X_CARRIAGE) + #if HOTENDS > 1 if (active_extruder != 0) tool_change(0); #endif } @@ -684,6 +687,9 @@ UNUSED(probe_deployed); #endif + #if HOTENDS > 1 + tool_change(old_tool_index); + #endif return; }