diff --git a/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp b/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp
index 84de925323215b7f22475174c0f16e38a0a14695..a719c8e723e5fc8b45900bbf4feda2d579c63d00 100644
--- a/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp
+++ b/miosix/arch/common/drivers/sd_stm32f2_f4_f7.cpp
@@ -100,11 +100,11 @@
 #define SDIO_POWER_PWRCTRL_1 SDMMC_POWER_PWRCTRL_1
 #define SDIO_POWER_PWRCTRL_0 SDMMC_POWER_PWRCTRL_0
 
-constexpr int ICR_FLAGS_CLR=0x5ff;
+constexpr int ICR_FLAGS_CLR=0x4005ff;
 
 #else  //defined(_ARCH_CORTEXM7_STM32F7) || defined(_ARCH_CORTEXM7_STM32H7)
 
-constexpr int ICR_FLAGS_CLR=0x7ff;
+constexpr int ICR_FLAGS_CLR=0xc007ff;
 
 #endif //defined(_ARCH_CORTEXM7_STM32F7) || defined(_ARCH_CORTEXM7_STM32H7)
 
@@ -1271,11 +1271,7 @@ static void initSDIOPeripheral()
     SDIO->CLKCR=0;
     SDIO->CMD=0;
     SDIO->DCTRL=0;
-    #if defined(_ARCH_CORTEXM7_STM32F7) || defined(_ARCH_CORTEXM7_STM32H7)
-    SDIO->ICR=0x4005ff;
-    #else
-    SDIO->ICR=0xc007ff;
-    #endif
+    SDIO->ICR=ICR_FLAGS_CLR;
     SDIO->POWER=SDIO_POWER_PWRCTRL_1 | SDIO_POWER_PWRCTRL_0; //Power on state
     //This delay is particularly important: when setting the POWER register a
     //glitch on the CMD pin happens. This glitch has a fast fall time and a slow