Index: uspace/drv/bus/usb/ehci/hw_struct/queue_head.c
===================================================================
--- uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision 01d9707def50a27e9dac22665ae9b52e4e869ffa)
+++ uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision 4c25c2fb2df98f402ead06e842c2077acddf081e)
@@ -83,8 +83,9 @@
 	uint32_t ep_cap = QH_EP_CAP_C_MASK_SET(3 << 2) |
 		    QH_EP_CAP_MULTI_SET(ep->packets_per_uframe);
-	if (ep->device->speed != USB_SPEED_HIGH) {
+	if (usb_speed_is_11(ep->device->speed)) {
+		assert(ep->device->tt.dev != NULL);
 		ep_cap |=
 		    QH_EP_CAP_TT_PORT_SET(ep->device->tt.port) |
-		    QH_EP_CAP_TT_ADDR_SET(ep->device->tt.address);
+		    QH_EP_CAP_TT_ADDR_SET(ep->device->tt.dev->address);
 	}
 	if (ep->transfer_type == USB_TRANSFER_INTERRUPT) {
Index: uspace/drv/bus/usb/xhci/bus.c
===================================================================
--- uspace/drv/bus/usb/xhci/bus.c	(revision 01d9707def50a27e9dac22665ae9b52e4e869ffa)
+++ uspace/drv/bus/usb/xhci/bus.c	(revision 4c25c2fb2df98f402ead06e842c2077acddf081e)
@@ -149,6 +149,4 @@
 	xhci_device_t *xhci_dev = xhci_device_get(dev);
 
-	hcd_setup_device_tt(dev);
-
 	/* Calculate route string */
 	xhci_device_t *xhci_hub = xhci_device_get(dev->hub);
