diff --git a/Marlin/src/module/endstops.cpp b/Marlin/src/module/endstops.cpp
index 21f5320f83..6da2f68e95 100644
--- a/Marlin/src/module/endstops.cpp
+++ b/Marlin/src/module/endstops.cpp
@@ -432,7 +432,7 @@ void Endstops::update() {
    * Check and update endstops
    */
   #if HAS_X_MIN
-    #if ENABLED(X_DUAL_ENDSTOPS) && X_HOME_DIR < 0
+    #if ENABLED(X_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(X, MIN);
       #if HAS_X2_MIN
         UPDATE_ENDSTOP_BIT(X2, MIN);
@@ -445,7 +445,7 @@ void Endstops::update() {
   #endif
 
   #if HAS_X_MAX
-    #if ENABLED(X_DUAL_ENDSTOPS) && X_HOME_DIR > 0
+    #if ENABLED(X_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(X, MAX);
       #if HAS_X2_MAX
         UPDATE_ENDSTOP_BIT(X2, MAX);
@@ -457,7 +457,7 @@ void Endstops::update() {
     #endif
   #endif
 
-  #if HAS_Y_MIN && Y_HOME_DIR < 0
+  #if HAS_Y_MIN
     #if ENABLED(Y_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(Y, MIN);
       #if HAS_Y2_MIN
@@ -470,7 +470,7 @@ void Endstops::update() {
     #endif
   #endif
 
-  #if HAS_Y_MAX && Y_HOME_DIR > 0
+  #if HAS_Y_MAX
     #if ENABLED(Y_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(Y, MAX);
       #if HAS_Y2_MAX
@@ -484,7 +484,7 @@ void Endstops::update() {
   #endif
 
   #if HAS_Z_MIN
-    #if ENABLED(Z_DUAL_ENDSTOPS) && Z_HOME_DIR < 0
+    #if ENABLED(Z_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(Z, MIN);
       #if HAS_Z2_MIN
         UPDATE_ENDSTOP_BIT(Z2, MIN);
@@ -503,7 +503,7 @@ void Endstops::update() {
     UPDATE_ENDSTOP_BIT(Z, MIN_PROBE);
   #endif
 
-  #if HAS_Z_MAX && Z_HOME_DIR > 0
+  #if HAS_Z_MAX
     // Check both Z dual endstops
     #if ENABLED(Z_DUAL_ENDSTOPS)
       UPDATE_ENDSTOP_BIT(Z, MAX);