diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c
index dfd06f5f946..afcd9d2aa58 100644
--- a/quantum/split_common/split_util.c
+++ b/quantum/split_common/split_util.c
@@ -39,7 +39,10 @@ volatile bool isLeftHand = true;
 #if defined(SPLIT_USB_DETECT)
 #    if defined(PROTOCOL_LUFA)
 static inline bool usbHasActiveConnection(void) { return USB_Device_IsAddressSet(); }
-static inline void usbDisable(void) { USB_Disable(); }
+static inline void usbDisable(void) {
+    USB_Disable();
+    USB_DeviceState = DEVICE_STATE_Unattached;
+}
 #    elif defined(PROTOCOL_CHIBIOS)
 static inline bool usbHasActiveConnection(void) { return usbGetDriverStateI(&USBD1) == USB_ACTIVE; }
 static inline void usbDisable(void) { usbStop(&USBD1); }