diff --git a/cores/arduino/Arduino.h b/cores/arduino/Arduino.h
index 1be6d71718a6fa786a5c1a265442bd4c32913404..c630f7370ef8b8acfbe5ffeb71ded8d0efb1a38a 100644
--- a/cores/arduino/Arduino.h
+++ b/cores/arduino/Arduino.h
@@ -114,6 +114,11 @@ void loop( void ) ;
 
 #define bit(b) (1UL << (b))
 
+#if (ARDUINO_SAMD_VARIANT_COMPLIANCE >= 10605)
+// Interrupts
+#define digitalPinToInterrupt(P)   ( g_APinDescription[P].ulExtInt )
+#endif
+
 // USB Device
 #include "USB/USBDesc.h"
 #include "USB/USBCore.h"
diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c
index 0f1bf188a5638344bf8c73b123a47f9981841b7e..430195ca18932ce3d152ab48ff4da96175f5eed9 100644
--- a/cores/arduino/WInterrupts.c
+++ b/cores/arduino/WInterrupts.c
@@ -57,7 +57,11 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
   uint32_t config;
   uint32_t pos;
 
+#if ARDUINO_SAMD_VARIANT_COMPLIANCE >= 10605
   EExt_Interrupts in = g_APinDescription[pin].ulExtInt;
+#else
+  EExt_Interrupts in = digitalPinToInterrupt(pin);
+#endif
   if (in == NOT_AN_INTERRUPT || in == EXTERNAL_INT_NMI)
     return;
 
@@ -116,7 +120,11 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
  */
 void detachInterrupt(uint32_t pin)
 {
+#if (ARDUINO_SAMD_VARIANT_COMPLIANCE >= 10605)
   EExt_Interrupts in = g_APinDescription[pin].ulExtInt;
+#else
+  EExt_Interrupts in = digitalPinToInterrupt(pin);
+#endif 
   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 6897f4f570aba3b1c132446c4d309a3825cc2064..8bfe71c5b60dbcf1a392ae77b41f802d8a120af8 100644
--- a/variants/arduino_zero/variant.h
+++ b/variants/arduino_zero/variant.h
@@ -19,8 +19,8 @@
 #ifndef _VARIANT_ARDUINO_ZERO_
 #define _VARIANT_ARDUINO_ZERO_
 
-// The definitions here needs a SAMD core >=1.6.3
-#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10603
+// The definitions here needs a SAMD core >=1.6.5
+#define ARDUINO_SAMD_VARIANT_COMPLIANCE 10605
 
 /*----------------------------------------------------------------------------
  *        Definitions
@@ -76,9 +76,6 @@ extern "C"
  */
 // #define digitalPinToTimer(P)
 
-// Interrupts
-#define digitalPinToInterrupt(P)   ( P )
-
 // LEDs
 #define PIN_LED_13           (13u)
 #define PIN_LED_RXL          (25u)