Index: uspace/drv/bus/usb/ehci/ehci_batch.c
===================================================================
--- uspace/drv/bus/usb/ehci/ehci_batch.c	(revision 46ec81126a90a7921ed893cf705b519b125333a2)
+++ uspace/drv/bus/usb/ehci/ehci_batch.c	(revision 00bbc362fe1035ff085502b55bec289fe637800b)
@@ -358,7 +358,9 @@
 		    ? EHCI_TD_MAX_TRANSFER : remain_size;
 
+		const bool last = (remain_size == transfer_size);
 		td_init(
-		    ehci_batch->tds[td_current], ehci_batch->tds[td_current + 1],
-		    dir, buffer, transfer_size, -1, remain_size == transfer_size);
+		    ehci_batch->tds[td_current], last ? NULL :
+		    ehci_batch->tds[td_current + 1], dir, buffer, transfer_size,
+		    -1, last);
 
 		usb_log_debug2("Created DATA TD(%"PRIxn": %08x:%08x:%08x",
