diff --git a/cpu/cortexm_common/include/cpu.h b/cpu/cortexm_common/include/cpu.h
index 982f8fc38f2b4c9ed5e2052bad89c949c370eee1..18e08186adac88ac344d353c69281dac4e4b304d 100644
--- a/cpu/cortexm_common/include/cpu.h
+++ b/cpu/cortexm_common/include/cpu.h
@@ -105,8 +105,10 @@ static inline void cortexm_sleep(int deep)
     }
 
     /* ensure that all memory accesses have completed and trigger sleeping */
+    __disable_irq();
     __DSB();
     __WFI();
+    __enable_irq();
 }
 
 /**