diff --git a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h
index ddea5c606159d0f4de7ce34acc68afc5d218dc58..77fa581632ac6fb1fa4c8f1e435ec1de34fdc94a 100644
--- a/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h
+++ b/Marlin/src/HAL/HAL_AVR/endstop_interrupts.h
@@ -62,7 +62,7 @@ void endstop_ISR() { endstops.update(); }
                                    WITHIN(p, 14, 15) ? 1 : \
                                    WITHIN(p, 62, 69) ? 2 : \
                                    0)
-  
+
   #undef  digitalPinToPCMSK
   #define digitalPinToPCMSK(p)    (WITHIN(p, 10, 13) || WITHIN(p, 50, 53) ? (&PCMSK0) : \
                                    WITHIN(p, 14, 15) ? (&PCMSK1) : \
@@ -94,7 +94,7 @@ void endstop_ISR() { endstops.update(); }
 
 // Install Pin change interrupt for a pin. Can be called multiple times.
 void pciSetup(const int8_t pin) {
-  if (digitalPinToPCMSK(pin) != nullptr) {
+  if (digitalPinHasPCICR(pin)) {
     SBI(*digitalPinToPCMSK(pin), digitalPinToPCMSKbit(pin));  // enable pin
     SBI(PCIFR, digitalPinToPCICRbit(pin)); // clear any outstanding interrupt
     SBI(PCICR, digitalPinToPCICRbit(pin)); // enable interrupt for the group