diff --git a/Marlin/stepper.cpp b/Marlin/stepper.cpp
index 7e0c744f19..974dbad0e9 100644
--- a/Marlin/stepper.cpp
+++ b/Marlin/stepper.cpp
@@ -359,6 +359,11 @@ void Stepper::isr() {
 
       step_events_completed = 0;
 
+      #if ENABLED(ENDSTOP_INTERRUPTS_FEATURE)
+        e_hit = 2; // Needed for the case an endstop is already triggered before the new move begins.
+                   // No 'change' can be detected.
+      #endif
+
       #if ENABLED(Z_LATE_ENABLE)
         if (current_block->steps[Z_AXIS] > 0) {
           enable_z();