diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp
index bf98f8527c5850fd3a655e0eefdfd9c6b4317bde..8a5ac05e8c262c15fb3121d52f393a4bdcdbf289 100644
--- a/Marlin/src/Marlin.cpp
+++ b/Marlin/src/Marlin.cpp
@@ -860,16 +860,10 @@ void setup() {
     leds.setup();
   #endif
 
-  #if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
-    SET_OUTPUT(RGB_LED_R_PIN);
-    SET_OUTPUT(RGB_LED_G_PIN);
-    SET_OUTPUT(RGB_LED_B_PIN);
-    #if ENABLED(RGBW_LED)
-      SET_OUTPUT(RGB_LED_W_PIN);
-    #endif
-  #endif
-
   #if HAS_CASE_LIGHT
+    #if DISABLED(CASE_LIGHT_USE_NEOPIXEL)
+      SET_OUTPUT(CASE_LIGHT_PIN);
+    #endif
     update_case_light();
   #endif
 
diff --git a/Marlin/src/feature/caselight.cpp b/Marlin/src/feature/caselight.cpp
index e2cc23368a20371ba39023ee93a7e94c8ecfc31b..ad06688d1f9696d814616a5057b704c0975dc2ba 100644
--- a/Marlin/src/feature/caselight.cpp
+++ b/Marlin/src/feature/caselight.cpp
@@ -69,7 +69,6 @@ void update_case_light() {
 
   #else // !CASE_LIGHT_USE_NEOPIXEL
 
-    SET_OUTPUT(CASE_LIGHT_PIN);
     if (USEABLE_HARDWARE_PWM(CASE_LIGHT_PIN))
       analogWrite(CASE_LIGHT_PIN, n10ct);
     else {
diff --git a/Marlin/src/feature/leds/leds.cpp b/Marlin/src/feature/leds/leds.cpp
index ae377ecbefb32e08aa6a0dd5b9c85d8ab2d521f5..e700de36488aba0da935c37c2fe841c331b48a89 100644
--- a/Marlin/src/feature/leds/leds.cpp
+++ b/Marlin/src/feature/leds/leds.cpp
@@ -60,6 +60,14 @@
 LEDLights leds;
 
 void LEDLights::setup() {
+  #if ENABLED(RGB_LED) || ENABLED(RGBW_LED)
+    SET_OUTPUT(RGB_LED_R_PIN);
+    SET_OUTPUT(RGB_LED_G_PIN);
+    SET_OUTPUT(RGB_LED_B_PIN);
+    #if ENABLED(RGBW_LED)
+      SET_OUTPUT(RGB_LED_W_PIN);
+    #endif
+  #endif
   #if ENABLED(NEOPIXEL_LED)
     setup_neopixel();
   #endif