Index: firmware/SOURCES
===================================================================
--- firmware/SOURCES	(revision 14873)
+++ firmware/SOURCES	(working copy)
@@ -224,7 +224,7 @@
 #endif /* SIMULATOR */
 
 /* USB Stack */
-#if !defined(SIMULATOR)
+#if !defined(SIMULATOR) && !defined(BOOTLOADER)
 #ifdef HAVE_USBSTACK
 usbstack/core/core.c
 usbstack/core/epsetup.c
@@ -244,7 +244,7 @@
 #if CONFIG_USBOTG == USBOTG_M5636
 drivers/m5636.c
 #elif CONFIG_USBOTG == USBOTG_ARC
-#ifdef HAVE_USBSTACK
+#if defined(HAVE_USBSTACK) && !defined(BOOTLOADER)
 drivers/usb/arcotg_dcd.c
 #else
 drivers/usb/arcotg_udc.c
Index: firmware/target/arm/usb-fw-pp502x.c
===================================================================
--- firmware/target/arm/usb-fw-pp502x.c	(revision 14873)
+++ firmware/target/arm/usb-fw-pp502x.c	(working copy)
@@ -77,7 +77,7 @@
 
     udelay(0x186A0);
 
-#ifndef HAVE_USBSTACK
+#if !defined(HAVE_USBSTACK) || defined(BOOTLOADER)
     dr_controller_setup();
 #endif
 
@@ -91,7 +91,7 @@
 
 void usb_enable(bool on)
 {
-#ifdef HAVE_USBSTACK
+#if defined(HAVE_USBSTACK) && !defined(BOOTLOADER)
     if (!on) {
         usb_stack_stop();
     }
@@ -124,7 +124,7 @@
         }
 #endif /*defined(IPOD_ARCH) || defined(IRIVER_H10) || defined (IRIVER_H10_5GB)*/
     }
-#endif /* !HAVE_USBSTACK */
+#endif /* defined(HAVE_USBSTACK) && !defined(BOOTLOADER) */
 }
 
 int usb_detect(void)
@@ -150,7 +150,7 @@
         {
             countdown = 0;
             status = usbstatus2 ? USB_INSERTED : USB_POWERED;
-#ifndef HAVE_USBSTACK
+#if !defined(HAVE_USBSTACK) || defined(BOOTLOADER)
             dr_controller_stop();
 #endif
         }
@@ -199,7 +199,7 @@
     /* Run the USB controller for long enough to detect if we're connected
        to a computer, then stop it again. */
 
-#ifndef HAVE_USBSTACK
+#if !defined(HAVE_USBSTACK) || defined(BOOTLOADER)
     dr_controller_run();
 #else
     usb_stack_start();
