diff --git a/Marlin/src/module/stepper_indirection.cpp b/Marlin/src/module/stepper_indirection.cpp
index fe07d554b217e071a2699f1190a60366c47f6282..74d5aa0c122b0a9cd3f0c16ff76e95e4a83f88e8 100644
--- a/Marlin/src/module/stepper_indirection.cpp
+++ b/Marlin/src/module/stepper_indirection.cpp
@@ -209,8 +209,8 @@
     chopconf.tbl = 1;
     chopconf.toff = chopper_timing.toff;
     chopconf.intpol = INTERPOLATE;
-    chopconf.hend = chopper_timing.hstrt + 3;
-    chopconf.hstrt = chopper_timing.hend - 1;
+    chopconf.hend = chopper_timing.hend + 3;
+    chopconf.hstrt = chopper_timing.hstrt - 1;
     st.CHOPCONF(chopconf.sr);
 
     st.rms_current(mA, HOLD_MULTIPLIER);
@@ -453,8 +453,8 @@
     chopconf.tbl = 0b01; // blank_time = 24
     chopconf.toff = chopper_timing.toff;
     chopconf.intpol = INTERPOLATE;
-    chopconf.hend = chopper_timing.hstrt + 3;
-    chopconf.hstrt = chopper_timing.hend - 1;
+    chopconf.hend = chopper_timing.hend + 3;
+    chopconf.hstrt = chopper_timing.hstrt - 1;
     st.CHOPCONF(chopconf.sr);
 
     st.rms_current(mA, HOLD_MULTIPLIER);
@@ -546,8 +546,8 @@
     TMC2660_n::CHOPCONF_t chopconf{0};
     chopconf.tbl = 1;
     chopconf.toff = chopper_timing.toff;
-    chopconf.hend = chopper_timing.hstrt + 3;
-    chopconf.hstrt = chopper_timing.hend - 1;
+    chopconf.hend = chopper_timing.hend + 3;
+    chopconf.hstrt = chopper_timing.hstrt - 1;
     st.CHOPCONF(chopconf.sr);
 
     st.rms_current(mA);
diff --git a/Marlin/src/module/stepper_indirection.h b/Marlin/src/module/stepper_indirection.h
index b1c6ae76e876148f79e440b8cd005d5ee1d27834..08559ecccdb01db15970410228b69a5fc3cf4af6 100644
--- a/Marlin/src/module/stepper_indirection.h
+++ b/Marlin/src/module/stepper_indirection.h
@@ -68,8 +68,8 @@
 
   typedef struct {
     uint8_t toff;
-    int8_t hstrt;
-    uint8_t hend;
+    int8_t hend;
+    uint8_t hstrt;
   } chopper_timing_t;
 
   static constexpr chopper_timing_t chopper_timing = CHOPPER_TIMING;