diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 4c4c0bb4cd6a22c68d6be87e1e6e49077e228b84..7fb11d8538eebdc97acd957e4153d28f85d0f47b 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -465,19 +465,19 @@ int Temperature::getHeaterPower(int heater) {
 
   void Temperature::checkExtruderAutoFans() {
     const int8_t fanPin[] = { EXTRUDER_0_AUTO_FAN_PIN, EXTRUDER_1_AUTO_FAN_PIN, EXTRUDER_2_AUTO_FAN_PIN, EXTRUDER_3_AUTO_FAN_PIN };
-    const int fanBit[] = { 0,
-      EXTRUDER_1_AUTO_FAN_PIN == EXTRUDER_0_AUTO_FAN_PIN ? 0 : 1,
-      EXTRUDER_2_AUTO_FAN_PIN == EXTRUDER_0_AUTO_FAN_PIN ? 0 :
-      EXTRUDER_2_AUTO_FAN_PIN == EXTRUDER_1_AUTO_FAN_PIN ? 1 : 2,
-      EXTRUDER_3_AUTO_FAN_PIN == EXTRUDER_0_AUTO_FAN_PIN ? 0 :
-      EXTRUDER_3_AUTO_FAN_PIN == EXTRUDER_1_AUTO_FAN_PIN ? 1 :
-      EXTRUDER_3_AUTO_FAN_PIN == EXTRUDER_2_AUTO_FAN_PIN ? 2 : 3
+    const int fanBit[] = {
+                    0,
+      AUTO_1_IS_0 ? 0 :               1,
+      AUTO_2_IS_0 ? 0 : AUTO_2_IS_1 ? 1 :               2,
+      AUTO_3_IS_0 ? 0 : AUTO_3_IS_1 ? 1 : AUTO_3_IS_2 ? 2 : 3
     };
     uint8_t fanState = 0;
+ 
     HOTEND_LOOP() {
       if (current_temperature[e] > EXTRUDER_AUTO_FAN_TEMPERATURE)
         SBI(fanState, fanBit[e]);
     }
+ 
     uint8_t fanDone = 0;
     for (int8_t f = 0; f < COUNT(fanPin); f++) {
       int8_t pin = fanPin[f];
@@ -1077,7 +1077,7 @@ void Temperature::init() {
       pinMode(EXTRUDER_0_AUTO_FAN_PIN, OUTPUT);
     #endif
   #endif
-  #if HAS_AUTO_FAN_1 && (EXTRUDER_1_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN)
+  #if HAS_AUTO_FAN_1 && !AUTO_1_IS_0
     #if EXTRUDER_1_AUTO_FAN_PIN == FAN1_PIN
       SET_OUTPUT(EXTRUDER_1_AUTO_FAN_PIN);
       #if ENABLED(FAST_PWM_FAN)
@@ -1087,7 +1087,7 @@ void Temperature::init() {
       pinMode(EXTRUDER_1_AUTO_FAN_PIN, OUTPUT);
     #endif
   #endif
-  #if HAS_AUTO_FAN_2 && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_2_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN)
+  #if HAS_AUTO_FAN_2 && !AUTO_2_IS_0 && !AUTO_2_IS_1
     #if EXTRUDER_2_AUTO_FAN_PIN == FAN1_PIN
       SET_OUTPUT(EXTRUDER_2_AUTO_FAN_PIN);
       #if ENABLED(FAST_PWM_FAN)
@@ -1097,7 +1097,7 @@ void Temperature::init() {
       pinMode(EXTRUDER_2_AUTO_FAN_PIN, OUTPUT);
     #endif
   #endif
-  #if HAS_AUTO_FAN_3 && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_0_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_1_AUTO_FAN_PIN) && (EXTRUDER_3_AUTO_FAN_PIN != EXTRUDER_2_AUTO_FAN_PIN)
+  #if HAS_AUTO_FAN_3 && !AUTO_3_IS_0 && !AUTO_3_IS_1 && !AUTO_3_IS_2
     #if EXTRUDER_3_AUTO_FAN_PIN == FAN1_PIN
       SET_OUTPUT(EXTRUDER_3_AUTO_FAN_PIN);
       #if ENABLED(FAST_PWM_FAN)