diff --git a/Marlin/src/module/settings.cpp b/Marlin/src/module/settings.cpp
index f1ab0fca692..c84bbb44aea 100644
--- a/Marlin/src/module/settings.cpp
+++ b/Marlin/src/module/settings.cpp
@@ -626,7 +626,12 @@ void MarlinSettings::postprocess() {
         #endif
         EEPROM_WRITE(home_offset);
       #endif
+    }
 
+    //
+    // Hotend Offsets, if any
+    //
+    {
       #if HAS_HOTEND_OFFSET
         // Skip hotend 0 which must be 0
         LOOP_S_L_N(e, 1, HOTENDS)
@@ -1521,6 +1526,8 @@ void MarlinSettings::postprocess() {
         _FIELD_TEST(runout_sensor_enabled);
         EEPROM_READ(runout_sensor_enabled);
 
+        TERN_(HAS_FILAMENT_SENSOR, if (runout.enabled) runout.reset());
+
         float runout_distance_mm;
         EEPROM_READ(runout_distance_mm);
         #if HAS_FILAMENT_RUNOUT_DISTANCE