Index: uspace/drv/bus/usb/xhci/device.c
===================================================================
--- uspace/drv/bus/usb/xhci/device.c	(revision 4c3fef43df9c6f097a67209a0d4aa634bcb09919)
+++ uspace/drv/bus/usb/xhci/device.c	(revision 18092dd3bd2c540b2fb12b107dd0e29c08214bf4)
@@ -81,4 +81,5 @@
 	usb_log_debug("Obtained slot ID: %u.", dev->slot_id);
 
+	/* Temporary reference */
 	endpoint_t *ep0_base;
 	if ((err = bus_endpoint_add(&dev->base, &ep0_initial_desc, &ep0_base)))
@@ -93,10 +94,13 @@
 		goto err_added;
 
+	/* Temporary reference */
+	endpoint_del_ref(ep0_base);
+
 	return EOK;
 
 err_added:
-	/* Bus reference */
+	bus_endpoint_remove(ep0_base);
+	/* Temporary reference */
 	endpoint_del_ref(ep0_base);
-	dev->base.endpoints[0] = NULL;
 err_slot:
 	hc_disable_slot(dev);
