diff --git a/firmware/target/arm/as3525/sd-as3525.c b/firmware/target/arm/as3525
index 0afe735..3913279 100644
--- a/firmware/target/arm/as3525/sd-as3525.c
+++ b/firmware/target/arm/as3525/sd-as3525.c
@@ -877,7 +877,18 @@ void sd_enable(bool on)
else
_buttonlight_off();
#endif /* HAVE_BUTTON_LIGHT */
+ MCI_POWER(1) = MCI_POWER_UP | (MCI_VDD_3_0); /* OF Setting */
+ mci_delay();
+
+ MCI_POWER(1) |= MCI_POWER_ON;
+ mci_delay();
#endif /* HAVE_MULTIDRIVE */
+ MCI_POWER(0) = MCI_POWER_UP | (MCI_VDD_3_0); /* OF Setting */
+ mci_delay();
+
+ MCI_POWER(0) |= MCI_POWER_ON;
+ mci_delay();
+
sd_enabled = true;

#if defined(HAVE_HOTSWAP) && defined (HAVE_ADJUSTABLE_CPU_VOLTAGE)
@@ -901,6 +912,7 @@ void sd_enable(bool on)
sd_enabled = false;

#ifdef HAVE_MULTIDRIVE
+ MCI_POWER(1) = 0;
#ifdef HAVE_BUTTON_LIGHT
CCU_IO &= ~(1<<2); /* XPD is general purpose IO (b3:2 = 00) *
if (buttonlight_is_on)
@@ -909,6 +921,7 @@ void sd_enable(bool on)
/* Disable MCI clk for uSD */
CGU_PERI &= ~CGU_MCI_CLOCK_ENABLE;
#endif /* HAVE_MULTIDRIVE */
+ MCI_POWER(0) = 0;

/* Disable both NAF_CLOCK & IDE clk for internal SD */
CGU_PERI &= ~CGU_NAF_CLOCK_ENABLE;