diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c
index a1f1de9e29df8a977a87ea0f4d712b08bfa8d318..0f1bf188a5638344bf8c73b123a47f9981841b7e 100644
--- a/cores/arduino/WInterrupts.c
+++ b/cores/arduino/WInterrupts.c
@@ -57,7 +57,7 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
   uint32_t config;
   uint32_t pos;
 
-  EExt_Interrupts in = digitalPinToInterrupt(pin);
+  EExt_Interrupts in = g_APinDescription[pin].ulExtInt;
   if (in == NOT_AN_INTERRUPT || in == EXTERNAL_INT_NMI)
     return;
 
@@ -116,7 +116,7 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
  */
 void detachInterrupt(uint32_t pin)
 {
-  EExt_Interrupts in = digitalPinToInterrupt(pin);
+  EExt_Interrupts in = g_APinDescription[pin].ulExtInt;
   if (in == NOT_AN_INTERRUPT || in == EXTERNAL_INT_NMI)
     return;
 
diff --git a/variants/arduino_zero/variant.h b/variants/arduino_zero/variant.h
index 1a1d475658b139e7e0d562040253b9519b1e0364..6897f4f570aba3b1c132446c4d309a3825cc2064 100644
--- a/variants/arduino_zero/variant.h
+++ b/variants/arduino_zero/variant.h
@@ -77,7 +77,7 @@ extern "C"
 // #define digitalPinToTimer(P)
 
 // Interrupts
-#define digitalPinToInterrupt(P)   ( g_APinDescription[P].ulExtInt )
+#define digitalPinToInterrupt(P)   ( P )
 
 // LEDs
 #define PIN_LED_13           (13u)