diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 33384530f2..4d8b0f9fef 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -9276,6 +9276,11 @@ inline void gcode_M503() { */ inline void gcode_M600() { + // Don't allow filament change without homing first + if (axis_unhomed_error()) { + home_all_axes(); + } + // Initial retract before move to filament change position const float retract = parser.seen('E') ? parser.value_axis_units(E_AXIS) : 0 #if defined(PAUSE_PARK_RETRACT_LENGTH) && PAUSE_PARK_RETRACT_LENGTH > 0