diff --git a/Marlin/src/lcd/ultralcd_impl_DOGM.h b/Marlin/src/lcd/ultralcd_impl_DOGM.h
index 30054f09de2..7442f17d4ef 100644
--- a/Marlin/src/lcd/ultralcd_impl_DOGM.h
+++ b/Marlin/src/lcd/ultralcd_impl_DOGM.h
@@ -301,9 +301,9 @@ static void lcd_implementation_init() {
 
   #if ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
     SET_OUTPUT(LCD_PINS_DC);
-    OUT_WRITE(LCD_PINS_RS, LOW);
-    _delay_ms(500);
-    WRITE(LCD_PINS_RS, HIGH);
+    #if !defined(LCD_RESET_PIN)
+      #define LCD_RESET_PIN LCD_PINS_RS
+    #endif
   #endif
 
   #if PIN_EXISTS(LCD_RESET)
@@ -313,7 +313,7 @@ static void lcd_implementation_init() {
     _delay_ms(5); // delay to allow the display to initalize
   #endif
 
-  #if PIN_EXISTS(LCD_RESET) || ENABLED(MKS_12864OLED) || ENABLED(MKS_12864OLED_SSD1306)
+  #if PIN_EXISTS(LCD_RESET)
     u8g.begin();
   #endif