diff --git a/firmware/target/arm/as3525/usb-drv-as3525v2.c b/firmware/target/arm/as3525/usb-drv-as3525v2.c
index 2c0ca70..6f41592 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525v2.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525v2.c
@@ -121,6 +121,7 @@ static void usb_delay(void)
 static void as3525v2_connect(void)
 {
     logf("usb-drv: init as3525v2");
+    CCU_USB_THINGY = (CCU_USB_THINGY & ~0x3000000) | 0x1000000;
     /* 1) enable usb core clock */
     bitset32(&CGU_PERI, CGU_USB_CLOCK_ENABLE);
     usb_delay();
@@ -156,8 +157,7 @@ static void as3525v2_connect(void)
     GUSBCFG |= GUSBCFG_force_device_mode;
     usb_delay();
     /* 11) Do something that is probably CCU related but undocumented*/
-    CCU_USB_THINGY &= ~0x1000;
-    usb_delay();
+    CCU_USB_THINGY |= 0x1000;
     CCU_USB_THINGY &= ~0x300000;
     usb_delay();
     /* 12) reset usb core parameters (dev addr, speed, ...) */