diff --git a/cores/arduino/WInterrupts.c b/cores/arduino/WInterrupts.c
index 2936452d7770704fab0a33ce64df4a88448096b5..a1f1de9e29df8a977a87ea0f4d712b08bfa8d318 100644
--- a/cores/arduino/WInterrupts.c
+++ b/cores/arduino/WInterrupts.c
@@ -66,6 +66,9 @@ void attachInterrupt(uint32_t pin, voidFuncPtr callback, uint32_t mode)
     enabled = 1;
   }
 
+  // Enable wakeup capability on pin in case being used during sleep
+  EIC->WAKEUP.reg |= (1 << in);
+
   // Assign pin to EIC
   pinPeripheral(pin, PIO_EXTINT);
 
@@ -118,6 +121,9 @@ void detachInterrupt(uint32_t pin)
     return;
 
   EIC->INTENCLR.reg = EIC_INTENCLR_EXTINT(1 << in);
+  
+  // Disable wakeup capability on pin during sleep
+  EIC->WAKEUP.reg &= ~(1 << in);
 }
 
 /*