diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp
index ab0a24ebf1520701db74840f756826e56b8b2511..04cac77ef6ac5097e95c404520f3fa0922d9fe56 100644
--- a/Marlin/Marlin_main.cpp
+++ b/Marlin/Marlin_main.cpp
@@ -3598,13 +3598,14 @@ inline void gcode_G92() {
 
       current_position[i] = v;
 
-      position_shift[i] += v - p; // Offset the coordinate space
-      update_software_endstops((AxisEnum)i);
-
       if (i == E_AXIS)
         plan_set_e_position(v);
-      else
+      else {
+        position_shift[i] += v - p; // Offset the coordinate space
+        update_software_endstops((AxisEnum)i);
+		  
         didXYZ = true;
+	  }
     }
   }
   if (didXYZ) {