diff --git a/SAS/DataManagement/StorageQueryService/cache.py b/SAS/DataManagement/StorageQueryService/cache.py
index 87d15ee5102c881cb915059dde3298202e5a26ba..43bd5fdbd411eafc6887afdf040dd5d82abf2ab5 100644
--- a/SAS/DataManagement/StorageQueryService/cache.py
+++ b/SAS/DataManagement/StorageQueryService/cache.py
@@ -11,7 +11,6 @@ import ast
 from optparse import OptionParser
 from threading import Thread, RLock
 import os.path
-from pprint import pformat
 
 from lofar.messaging import EventMessage, ToBus
 from lofar.common.util import humanreadablesize
@@ -73,6 +72,7 @@ class CacheManager:
         self._cacheLock = RLock()
 
         self._cache = {'path_du_results': {}, 'otdb_id2path': {} }
+        self._last_cache_write_timestamp = datetime.datetime(1970, 1, 1)
         self._readCacheFromDisk()
 
         self.disk_usage = DiskUsage(mountpoint=mountpoint,
@@ -111,11 +111,16 @@ class CacheManager:
 
     def _writeCacheToDisk(self):
         try:
-            tmp_path = '/tmp/tmp_storagequery_cache.py'
-            with open(tmp_path, 'w') as file:
+            if datetime.datetime.utcnow() - self._last_cache_write_timestamp > datetime.timedelta(minutes=5):
+                tmp_path = '/tmp/tmp_storagequery_cache.py'
+                cache_str = ''
                 with self._cacheLock:
-                    file.write(pformat(self._cache) + '\n')
-            os.rename(tmp_path, self._cache_path)
+                    cache_str = str(self._cache)
+
+                with open(tmp_path, 'w') as file:
+                    file.write(cache_str)
+                os.rename(tmp_path, self._cache_path)
+                self._last_cache_write_timestamp = datetime.datetime.utcnow()
         except Exception as e:
             logger.error("Error while writing du cache: %s", e)