Index: uspace/drv/bus/usb/ehci/hw_struct/queue_head.c
===================================================================
--- uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision fa9656b07f13f0c31ef23a27c0e03516cd064dd2)
+++ uspace/drv/bus/usb/ehci/hw_struct/queue_head.c	(revision b8191cccc1f28980fb1f8404b31cb45282a0139f)
@@ -87,7 +87,10 @@
 	    QH_EP_CAP_TT_PORT_SET(ep->tt.port) |
 	    QH_EP_CAP_TT_ADDR_SET(ep->tt.address) |
-	    QH_EP_CAP_C_MASK_SET(3 << 2) |
-	    QH_EP_CAP_S_MASK_SET(3)
+	    QH_EP_CAP_C_MASK_SET(3 << 2)
 	);
+
+	if (ep->transfer_type == USB_TRANSFER_INTERRUPT) {
+		EHCI_MEM32_SET(instance->ep_cap, QH_EP_CAP_S_MASK_SET(3));
+	}
 	/* The rest of the fields are transfer working area, it should be ok to
 	 * leave it NULL */
