diff --git a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp index 422513840b..671ed79947 100644 --- a/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp +++ b/Marlin/src/feature/bedlevel/ubl/ubl_G29.cpp @@ -304,10 +304,10 @@ // Check for commands that require the printer to be homed if (may_move) { + if (axis_unhomed_error()) gcode.home_all_axes(); #if ENABLED(DUAL_X_CARRIAGE) if (active_extruder != 0) tool_change(0); #endif - if (axis_unhomed_error()) gcode.home_all_axes(); } // Invalidate Mesh Points. This command is a little bit asymmetrical because diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp index 9a46995477..ee38000860 100644 --- a/Marlin/src/lcd/ultralcd.cpp +++ b/Marlin/src/lcd/ultralcd.cpp @@ -2937,7 +2937,7 @@ void lcd_quick_feedback(const bool clear_buttons) { #if EXTRUDERS > 1 const int8_t old_extruder = active_extruder; - active_extruder = manual_move_e_index; + if (manual_move_axis == E_AXIS) active_extruder = manual_move_e_index; #endif // Set movement on a single axis @@ -2963,7 +2963,7 @@ void lcd_quick_feedback(const bool clear_buttons) { #else - planner.buffer_line_kinematic(current_position, MMM_TO_MMS(manual_feedrate_mm_m[manual_move_axis]), manual_move_e_index); + planner.buffer_line_kinematic(current_position, MMM_TO_MMS(manual_feedrate_mm_m[manual_move_axis]), manual_move_axis == E_AXIS ? manual_move_e_index : active_extruder); manual_move_axis = (int8_t)NO_AXIS; #endif