diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 6ef26e6b30f..d62e833d44e 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -820,6 +820,10 @@
     #define X_MIN_PIN -1
     #define X_MAX_PIN X_STOP_PIN
   #endif
+#elif X_HOME_DIR < 0
+  #define X_STOP_PIN X_MIN_PIN
+#else
+  #define X_STOP_PIN X_MAX_PIN
 #endif
 
 #ifdef Y_STOP_PIN
@@ -830,6 +834,10 @@
     #define Y_MIN_PIN -1
     #define Y_MAX_PIN Y_STOP_PIN
   #endif
+#elif Y_HOME_DIR < 0
+  #define Y_STOP_PIN Y_MIN_PIN
+#else
+  #define Y_STOP_PIN Y_MAX_PIN
 #endif
 
 #ifdef Z_STOP_PIN
@@ -840,6 +848,10 @@
     #define Z_MIN_PIN -1
     #define Z_MAX_PIN Z_STOP_PIN
   #endif
+#elif Z_HOME_DIR < 0
+  #define Z_STOP_PIN Z_MIN_PIN
+#else
+  #define Z_STOP_PIN Z_MAX_PIN
 #endif
 
 //