diff --git a/package.json b/package.json
index a9cee581cf1ec0a976c1edb30f57e7b2672fd3ad..0730fe3f5287c5975f1d5f222b8fb58fc897822d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "dacap",
-  "version": "1.0.4",
+  "version": "1.0.5",
   "description": "proxies,compresses and caches api-requests",
   "main": "bin/dacap",
   "bin": {
diff --git a/src/cache.ts b/src/cache.ts
index b8c110b19608e5b6b04a9185d39eb674a5527874..a04727ec0ea1d2328d11728fa19252f2ac88d778 100644
--- a/src/cache.ts
+++ b/src/cache.ts
@@ -131,9 +131,12 @@ export class Register {
 		});
 	}
 
-	save = (): void => {
-		fs.writeFileSync(path.resolve(this.storage, this.name), JSON.stringify(this.toObject()), { encoding: 'utf8', flag: 'w' });
-		debug(`register "${this.name}" saved to "${this.storage}"`);
+	save = (interval:number): void => {
+		setTimeout(() => {
+			fs.writeFileSync(path.resolve(this.storage, this.name), JSON.stringify(this.toObject()), { encoding: 'utf8', flag: 'w' });
+			debug(`register "${this.name}" saved to "${this.storage}"`);
+			this.save(interval);
+		}, interval);
 	}
 
 	restore = async (): Promise<void> => {
diff --git a/src/server.ts b/src/server.ts
index dbd35c1d88b32d9d3413b08052f265d9e6d9aec6..e7116ffe5674cfc38d630922023f5fd46cb11bcc 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -44,8 +44,7 @@ export class Server {
 	private initRegister() {
 		this.register = new cache.Register(this.config.storagePath, this.config.registerName);
 		this.register.restore();
-		setTimeout(this.register.save, this.config.autosaveInterval * 1000);
-
+		this.register.save(this.config.autosaveInterval * 1000);
 	}
 
 	private initMiddlewares() {