diff --git a/include/persistent_data.hpp b/include/persistent_data.hpp
index 0ff0c7e..24f7afd 100644
--- a/include/persistent_data.hpp
+++ b/include/persistent_data.hpp
@@ -33,6 +33,8 @@
 
     ~ConfigFile()
     {
+        // Make sure we aren't writing stale sessions
+        persistent_data::SessionStore::getInstance().applySessionTimeouts();
         if (persistent_data::SessionStore::getInstance().needsWrite())
         {
             writeData();
diff --git a/include/sessions.hpp b/include/sessions.hpp
index 7cdb82a..1eace0d 100644
--- a/include/sessions.hpp
+++ b/include/sessions.hpp
@@ -346,23 +346,6 @@
         return sessionStore;
     }
 
-    SessionStore(const SessionStore&) = delete;
-    SessionStore& operator=(const SessionStore&) = delete;
-
-    std::unordered_map<std::string, std::shared_ptr<UserSession>,
-                       std::hash<std::string>,
-                       crow::utility::ConstantTimeCompare>
-        authTokens;
-
-    std::chrono::time_point<std::chrono::steady_clock> lastTimeoutUpdate;
-    bool needWrite{false};
-    std::chrono::seconds timeoutInSeconds;
-    AuthConfigMethods authMethodsConfig;
-
-  private:
-    SessionStore() : timeoutInSeconds(3600)
-    {}
-
     void applySessionTimeouts()
     {
         auto timeNow = std::chrono::steady_clock::now();
@@ -390,6 +373,23 @@
             }
         }
     }
+
+    SessionStore(const SessionStore&) = delete;
+    SessionStore& operator=(const SessionStore&) = delete;
+
+    std::unordered_map<std::string, std::shared_ptr<UserSession>,
+                       std::hash<std::string>,
+                       crow::utility::ConstantTimeCompare>
+        authTokens;
+
+    std::chrono::time_point<std::chrono::steady_clock> lastTimeoutUpdate;
+    bool needWrite{false};
+    std::chrono::seconds timeoutInSeconds;
+    AuthConfigMethods authMethodsConfig;
+
+  private:
+    SessionStore() : timeoutInSeconds(3600)
+    {}
 };
 
 } // namespace persistent_data
