diff --git a/cores/arduino/USB/CDC.cpp b/cores/arduino/USB/CDC.cpp
index 5a111dce9ba042b29acc429a469406a5040d80ec..6bfc6e890dbc29958da05e57158b57a47ba0bc9b 100644
--- a/cores/arduino/USB/CDC.cpp
+++ b/cores/arduino/USB/CDC.cpp
@@ -262,7 +262,7 @@ size_t Serial_::write(const uint8_t *buffer, size_t size)
 	{
 		uint32_t r = usb.send(CDC_ENDPOINT_IN, buffer, size);
 
-		if (r == 0) {
+		if (r > 0) {
 			return r;
 		} else {
 			setWriteError();