diff --git a/Marlin/configuration_store.cpp b/Marlin/configuration_store.cpp
index fd8d41b4bf8..54c96b6e880 100644
--- a/Marlin/configuration_store.cpp
+++ b/Marlin/configuration_store.cpp
@@ -617,7 +617,7 @@ void Config_ResetDefault() {
   #endif
 
   #if ENABLED(PIDTEMP)
-    #if ENABLED(PID_PARAMS_PER_HOTEND)
+    #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
       HOTEND_LOOP()
     #else
       int e = 0; UNUSED(e); // only need to write once
diff --git a/Marlin/temperature.cpp b/Marlin/temperature.cpp
index 76c9dfd9aa3..beb4f63e6d8 100644
--- a/Marlin/temperature.cpp
+++ b/Marlin/temperature.cpp
@@ -68,7 +68,7 @@ unsigned char Temperature::soft_pwm_bed;
 #endif
 
 #if ENABLED(PIDTEMP)
-  #if ENABLED(PID_PARAMS_PER_HOTEND)
+  #if ENABLED(PID_PARAMS_PER_HOTEND) && HOTENDS > 1
     float Temperature::Kp[HOTENDS] = ARRAY_BY_HOTENDS1(DEFAULT_Kp),
           Temperature::Ki[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Ki) * (PID_dT)),
           Temperature::Kd[HOTENDS] = ARRAY_BY_HOTENDS1((DEFAULT_Kd) / (PID_dT));