diff --git a/Marlin/MarlinSerial.cpp b/Marlin/MarlinSerial.cpp
index e550f00daf6086e20287060fd329bda25ecc3edb..a1b3349fecd26dba7869a23d9b79a60d1530c831 100644
--- a/Marlin/MarlinSerial.cpp
+++ b/Marlin/MarlinSerial.cpp
@@ -244,10 +244,11 @@ void MarlinSerial::flush(void) {
     }
 
     tx_buffer.buffer[tx_buffer.head] = c;
-    CRITICAL_SECTION_START;
-      tx_buffer.head = i;
-      SBI(M_UCSRxB, M_UDRIEx);
-    CRITICAL_SECTION_END;
+    { CRITICAL_SECTION_START;
+        tx_buffer.head = i;
+        SBI(M_UCSRxB, M_UDRIEx);
+      CRITICAL_SECTION_END;
+    }
     return;
   }