diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index ed8f3837bb..2fdc745111 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -3532,15 +3532,18 @@ inline void gcode_G4() { } /** - * In CNC G-code G53 is like a modifier + * G53: Apply native workspace to the current move + * + * In CNC G-code G53 is a modifier. * It precedes a movement command (or other modifiers) on the same line. * This is the first command to use parser.chain() to make this possible. + * + * Marlin also uses G53 on a line by itself to go back to native space. */ inline void gcode_G53() { - // If this command has more following... - if (parser.chain()) { - const int8_t _system = active_coordinate_system; - active_coordinate_system = -1; + const int8_t _system = active_coordinate_system; + active_coordinate_system = -1; + if (parser.chain()) { // If this command has more following... process_parsed_command(); active_coordinate_system = _system; }