diff --git a/Marlin/src/module/motion.cpp b/Marlin/src/module/motion.cpp
index 846d99b2dd..4587704983 100644
--- a/Marlin/src/module/motion.cpp
+++ b/Marlin/src/module/motion.cpp
@@ -1335,7 +1335,7 @@ void homeaxis(const AxisEnum axis) {
       if (axis == X_AXIS) {
         const float adj = ABS(endstops.x_endstop_adj);
         if (pos_dir ? (endstops.x_endstop_adj > 0) : (endstops.x_endstop_adj < 0)) stepper.set_x_lock(true); else stepper.set_x2_lock(true);
-        do_homing_move(axis, pos_dir ? adj : -adj);
+        do_homing_move(axis, pos_dir ? -adj : adj);
         stepper.set_x_lock(false);
         stepper.set_x2_lock(false);
       }
@@ -1344,7 +1344,7 @@ void homeaxis(const AxisEnum axis) {
       if (axis == Y_AXIS) {
         const float adj = ABS(endstops.y_endstop_adj);
         if (pos_dir ? (endstops.y_endstop_adj > 0) : (endstops.y_endstop_adj < 0)) stepper.set_y_lock(true); else stepper.set_y2_lock(true);
-        do_homing_move(axis, pos_dir ? adj : -adj);
+        do_homing_move(axis, pos_dir ? -adj : adj);
         stepper.set_y_lock(false);
         stepper.set_y2_lock(false);
       }
@@ -1353,7 +1353,7 @@ void homeaxis(const AxisEnum axis) {
       if (axis == Z_AXIS) {
         const float adj = ABS(endstops.z_endstop_adj);
         if (pos_dir ? (endstops.z_endstop_adj > 0) : (endstops.z_endstop_adj < 0)) stepper.set_z_lock(true); else stepper.set_z2_lock(true);
-        do_homing_move(axis, pos_dir ? adj : -adj);
+        do_homing_move(axis, pos_dir ? -adj : adj);
         stepper.set_z_lock(false);
         stepper.set_z2_lock(false);
       }