diff --git a/Marlin/src/feature/pause.cpp b/Marlin/src/feature/pause.cpp
index 846b370c9880bcb9e6eb3248514a4466494b68d4..ba28e0f571922ec7a81e081b72f4c68a42aec5b1 100644
--- a/Marlin/src/feature/pause.cpp
+++ b/Marlin/src/feature/pause.cpp
@@ -51,6 +51,7 @@
 
 #include "../libs/buzzer.h"
 #include "../libs/nozzle.h"
+#include "pause.h"
 
 // private:
 
diff --git a/Marlin/src/feature/runout.h b/Marlin/src/feature/runout.h
index 3c9d31211155c3adfb8d2faa9c4a4234797c1424..692a36210fc2b67bec405f682d7f5d8e4a0621e1 100644
--- a/Marlin/src/feature/runout.h
+++ b/Marlin/src/feature/runout.h
@@ -35,45 +35,45 @@
 #include "../inc/MarlinConfig.h"
 
 class FilamentRunoutSensor {
+  public:
+    FilamentRunoutSensor() {}
 
-  FilamentRunoutSensor() {}
+    static void setup();
 
-  static bool filament_ran_out;
-  static void setup();
+    FORCE_INLINE static void reset() { filament_ran_out = false; }
 
-  FORCE_INLINE static reset() { filament_ran_out = false; }
+    FORCE_INLINE static void run() {
+      if ((IS_SD_PRINTING || print_job_timer.isRunning()) && check() && !filament_ran_out) {
+        filament_ran_out = true;
+        enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT));
+        stepper.synchronize();
+      }
+    }
+  private:
+    static bool filament_ran_out;
 
-  FORCE_INLINE static bool check() {
-    #if NUM_RUNOUT_SENSORS < 2
-      // A single sensor applying to all extruders
-      return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING;
-    #else
-      // Read the sensor for the active extruder
-      switch (active_extruder) {
-        case 0: return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING;
-        case 1: return READ(FIL_RUNOUT2_PIN) == FIL_RUNOUT_INVERTING;
-        #if NUM_RUNOUT_SENSORS > 2
-          case 2: return READ(FIL_RUNOUT3_PIN) == FIL_RUNOUT_INVERTING;
-          #if NUM_RUNOUT_SENSORS > 3
-            case 3: return READ(FIL_RUNOUT4_PIN) == FIL_RUNOUT_INVERTING;
-            #if NUM_RUNOUT_SENSORS > 4
-              case 4: return READ(FIL_RUNOUT5_PIN) == FIL_RUNOUT_INVERTING;
+    FORCE_INLINE static bool check() {
+      #if NUM_RUNOUT_SENSORS < 2
+        // A single sensor applying to all extruders
+        return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING;
+      #else
+        // Read the sensor for the active extruder
+        switch (active_extruder) {
+          case 0: return READ(FIL_RUNOUT_PIN) == FIL_RUNOUT_INVERTING;
+          case 1: return READ(FIL_RUNOUT2_PIN) == FIL_RUNOUT_INVERTING;
+          #if NUM_RUNOUT_SENSORS > 2
+            case 2: return READ(FIL_RUNOUT3_PIN) == FIL_RUNOUT_INVERTING;
+            #if NUM_RUNOUT_SENSORS > 3
+              case 3: return READ(FIL_RUNOUT4_PIN) == FIL_RUNOUT_INVERTING;
+              #if NUM_RUNOUT_SENSORS > 4
+                case 4: return READ(FIL_RUNOUT5_PIN) == FIL_RUNOUT_INVERTING;
+              #endif
             #endif
           #endif
-        #endif
-      }
-    #endif
-    return false;
-  }
-
-  FORCE_INLINE static void run() {
-    if ((IS_SD_PRINTING || print_job_timer.isRunning()) && check() && !filament_ran_out) {
-      filament_ran_out = true;
-      enqueue_and_echo_commands_P(PSTR(FILAMENT_RUNOUT_SCRIPT));
-      stepper.synchronize();
+        }
+      #endif
+      return false;
     }
-  }
-
 };
 
 extern FilamentRunoutSensor runout;
diff --git a/Marlin/src/module/configuration_store.cpp b/Marlin/src/module/configuration_store.cpp
index 6799b1f9388e99d4631104d4117d61cf74191857..ace7f73c1fc5f5bd7a088b7a204923e30244fac4 100644
--- a/Marlin/src/module/configuration_store.cpp
+++ b/Marlin/src/module/configuration_store.cpp
@@ -71,6 +71,10 @@
   #include "../feature/fwretract.h"
 #endif
 
+#if ENABLED(ADVANCED_PAUSE_FEATURE)
+  #include "../feature/pause.h"
+#endif
+
 #pragma pack(push, 1) // No padding between variables
 
 typedef struct PID { float Kp, Ki, Kd; } PID;