diff --git a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
index 838efa4..55f4550 100644
--- a/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
+++ b/firmware/target/arm/tms320dm320/mrobe-500/lcd-mr500.c
@@ -392,7 +392,7 @@ static void dma_start_transfer16(   char *src, int src_x, int src_y, int stride,
         COP_DMA_CTRL    = 0x0002;
         
         /* Wait for the transfer to complete */
-        while(COP_DMA_CTRL & 0x02) {};
+        while(COP_DMA_CTRL & 0x02) { yield(); };
 
         /* Decrease height, update pointers/counters */
         src     += (stride*pix_width);
