diff --git a/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp b/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp
index ec0ddc90fb..0931f7858a 100644
--- a/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp
+++ b/Marlin/src/HAL/HAL_LPC1768/u8g/u8g_com_HAL_LPC1768_st7920_sw_spi.cpp
@@ -68,23 +68,15 @@
 
 static pin_t SCK_pin_ST7920_HAL, MOSI_pin_ST7920_HAL_HAL;
 static uint8_t SPI_speed = 0;
-static uint8_t rs_last_state = 255;
 
 static void u8g_com_LPC1768_st7920_write_byte_sw_spi(uint8_t rs, uint8_t val) {
-
-  if (rs != rs_last_state) {  // time to send a command/data byte
+  static uint8_t rs_last_state = 255;
+  if (rs != rs_last_state) {
+    // Transfer Data (FA) or Command (F8)
+    swSpiTransfer(rs ? 0x0FA : 0x0F8, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL);
     rs_last_state = rs;
-
-    if (rs == 0)
-      /* command */
-      swSpiTransfer(0x0F8, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL);
-    else
-       /* data */
-       swSpiTransfer(0x0FA, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL);
-
-    DELAY_US(40); // give the controller some time to process the data: 20 is bad, 30 is OK, 40 is safe
+    DELAY_US(40); // Give the controller time to process the data: 20 is bad, 30 is OK, 40 is safe
   }
-
   swSpiTransfer(val & 0x0F0, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL);
   swSpiTransfer(val << 4, SPI_speed, SCK_pin_ST7920_HAL, -1, MOSI_pin_ST7920_HAL_HAL);
 }
diff --git a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp
index e736110188..c99a7085a1 100644
--- a/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp
+++ b/Marlin/src/lcd/dogm/ultralcd_st7920_u8glib_rrd_AVR.cpp
@@ -71,23 +71,23 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
       OUT_WRITE(ST7920_CLK_PIN, HIGH);
 
       ST7920_CS();
-      u8g_Delay(120);                 //initial delay for boot up
+      u8g_Delay(120);                 // Initial delay for boot up
       ST7920_SET_CMD();
-      ST7920_WRITE_BYTE(0x20);       //non-extended mode
-      ST7920_WRITE_BYTE(0x08);       //display off, cursor+blink off
-      ST7920_WRITE_BYTE(0x01);       //clear DDRAM ram
-      u8g_Delay(15);                    //delay for DDRAM clear
-      ST7920_WRITE_BYTE(0x24);       //extended mode
-      ST7920_WRITE_BYTE(0x26);       //extended mode + GDRAM active
-      for (y = 0; y < (LCD_PIXEL_HEIGHT) / 2; y++) { //clear GDRAM
-        ST7920_WRITE_BYTE(0x80 | y); //set y
-        ST7920_WRITE_BYTE(0x80);     //set x = 0
+      ST7920_WRITE_BYTE(0x20);        // Non-extended mode
+      ST7920_WRITE_BYTE(0x08);        // Display off, cursor+blink off
+      ST7920_WRITE_BYTE(0x01);        // Clear DDRAM ram
+      u8g_Delay(15);                  // Delay for DDRAM clear
+      ST7920_WRITE_BYTE(0x24);        // Extended mode
+      ST7920_WRITE_BYTE(0x26);        // Extended mode + GDRAM active
+      for (y = 0; y < (LCD_PIXEL_HEIGHT) / 2; y++) {  // Clear GDRAM
+        ST7920_WRITE_BYTE(0x80 | y);  // Set y
+        ST7920_WRITE_BYTE(0x80);      // Set x = 0
         ST7920_SET_DAT();
-        for (i = 0; i < 2 * (LCD_PIXEL_WIDTH) / 8; i++) //2x width clears both segments
+        for (i = 0; i < 2 * (LCD_PIXEL_WIDTH) / 8; i++) // 2x width clears both segments
           ST7920_WRITE_BYTE(0);
         ST7920_SET_CMD();
       }
-      ST7920_WRITE_BYTE(0x0C); //display on, cursor+blink off
+      ST7920_WRITE_BYTE(0x0C);        // Display on, cursor+blink off
       ST7920_NCS();
     }
     break;
@@ -104,15 +104,15 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
       for (i = 0; i < PAGE_HEIGHT; i ++) {
         ST7920_SET_CMD();
         if (y < 32) {
-          ST7920_WRITE_BYTE(0x80 | y);       //y
-          ST7920_WRITE_BYTE(0x80);           //x=0
+          ST7920_WRITE_BYTE(0x80 | y);        // y
+          ST7920_WRITE_BYTE(0x80);            // x = 0
         }
         else {
-          ST7920_WRITE_BYTE(0x80 | (y - 32)); //y
-          ST7920_WRITE_BYTE(0x80 | 8);       //x=64
+          ST7920_WRITE_BYTE(0x80 | (y - 32)); // y
+          ST7920_WRITE_BYTE(0x80 | 8);        // x = 64
         }
         ST7920_SET_DAT();
-        ST7920_WRITE_BYTES(ptr, (LCD_PIXEL_WIDTH) / 8); //ptr is incremented inside of macro
+        ST7920_WRITE_BYTES(ptr, (LCD_PIXEL_WIDTH) / 8); // ptr incremented inside of macro!
         y++;
       }
       ST7920_NCS();