diff --git a/LUFA/DoxygenPages/ChangeLog.txt b/LUFA/DoxygenPages/ChangeLog.txt
index a03d389b413962ea9357d892da68e6939b11a937..e16fcbec180503641c53703816452d73bb7bcb79 100644
--- a/LUFA/DoxygenPages/ChangeLog.txt
+++ b/LUFA/DoxygenPages/ChangeLog.txt
@@ -22,6 +22,7 @@
   *   - Fixed missing HID report ID prefix on HID class driver GetReport request responses (thanks to Bert van Hall)
   *  - Library Applications:
   *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
+  *   - Fixed blocking USART reads causing low throughput on slow baud rates in the USBtoSerial project (thanks to Nevada Smith)
   *
   *  \section Sec_ChangeLog140302 Version 140302
   *  <b>New:</b>
diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c
index 1c791d95d31935b59a107c33ab8b0271aec2be88..b51c7c2584fd16a88dd1cf4a894d2126d277df78 100644
--- a/Projects/USBtoSerial/USBtoSerial.c
+++ b/Projects/USBtoSerial/USBtoSerial.c
@@ -133,8 +133,8 @@ int main(void)
 			}
 		}
 
-		/* Load the next byte from the USART transmit buffer into the USART */
-		if (!(RingBuffer_IsEmpty(&USBtoUSART_Buffer)))
+		/* Load the next byte from the USART transmit buffer into the USART if transmit buffer space is available */
+		if (Serial_IsSendReady() && !(RingBuffer_IsEmpty(&USBtoUSART_Buffer)))
 		  Serial_SendByte(RingBuffer_Remove(&USBtoUSART_Buffer));
 
 		CDC_Device_USBTask(&VirtualSerial_CDC_Interface);