diff --git a/epicardium/modules/serial.c b/epicardium/modules/serial.c
index e80e30f75f2b718028238dd5270a0d4690b846c0..f2ec9e9344c9566005fc3e896f70ece2bdbc798e 100644
--- a/epicardium/modules/serial.c
+++ b/epicardium/modules/serial.c
@@ -119,7 +119,11 @@ void epic_uart_write_str(const char *str, size_t length)
 					SERIAL_WRITE_NOTIFY,
 					eSetBits
 				);
-				portYIELD();
+				if (bytes_sent == 0) {
+					vTaskDelay(1);
+				} else {
+					portYIELD();
+				}
 			}
 		} while (index < length);
 	}