diff --git a/public/libs/control.js b/public/libs/control.js
index fcd664c..d732f79 100644
--- a/public/libs/control.js
+++ b/public/libs/control.js
@@ -186,9 +186,9 @@ control.prototype._animationFrame_totalTime = function (timestamp) {
 };
 
 control.prototype._animationFrame_autoSave = function (timestamp) {
-    if (timestamp - core.saves.autosave.time <= 5000) return;
-    core.control.checkAutosave();
-    core.saves.autosave.time = timestamp;
+    // if (timestamp - core.saves.autosave.time <= 5000) return;
+    // core.control.checkAutosave();
+    // core.saves.autosave.time = timestamp;
 };
 
 control.prototype._animationFrame_globalAnimate = function (timestamp) {
diff --git a/src/game/index.ts b/src/game/index.ts
index 65d5ae8..b61d3f7 100644
--- a/src/game/index.ts
+++ b/src/game/index.ts
@@ -52,3 +52,10 @@ loading.once('coreInit', () => {
 });
 
 registerPresetState();
+
+window.addEventListener('beforeunload', () => {
+    core.checkAutosave();
+});
+hook.on('restart', () => {
+    core.checkAutosave();
+});