diff --git a/firmware/target/arm/as3525/usb-drv-as3525v2.c b/firmware/target/arm/as3525/usb-drv-as3525v2.c
index c0542d5..1fce0c2 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525v2.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525v2.c
@@ -187,7 +187,7 @@ void usb_drv_init(void)
     /* FIXME: the current code is for internal DMA only, the clip+ architecture
      *        defines the internal DMA model */
     GAHBCFG = (GAHBCFG_INT_DMA_BURST_INCR << GAHBCFG_hburstlen_bitp)
-                | GAHBCFG_dma_enable | GAHBCFG_glblintrmsk;
+                | GAHBCFG_dma_enable;
 
     /* Select UTMI+ 16 */
     GUSBCFG = GUSBCFG_force_device_mode | GUSBCFG_phy_if | 7 << GUSBCFG_toutcal_bitp;
@@ -237,10 +237,12 @@ void usb_drv_init(void)
             | GINTMSK_disconnect;
 
     VIC_INT_ENABLE = INTERRUPT_USB;
+    GAHBCFG |= GAHBCFG_glblintrmsk;
 }
 
 void usb_drv_exit(void)
 {
+    GAHBCFG &= ~GAHBCFG_glblintrmsk;
     VIC_INT_EN_CLEAR = INTERRUPT_USB;
 
     DCTL = DCTL_pwronprgdone | DCTL_sftdiscon;