diff --git a/cores/arduino/USB/USBCore.cpp b/cores/arduino/USB/USBCore.cpp
index d40662f08293be51a921ce0b2218e542900921bc..d32dd4cb227711b3ca50f74cc65933dfe617e3a0 100644
--- a/cores/arduino/USB/USBCore.cpp
+++ b/cores/arduino/USB/USBCore.cpp
@@ -624,6 +624,7 @@ uint32_t USBDeviceClass::send(uint32_t ep, const void *data, uint32_t len)
 			;  // need fire exit.
 		}
 		len -= length;
+		data += length;
 	}
 	return len;
 }