diff --git a/src/cutecoin/core/net/api/bma/access.py b/src/cutecoin/core/net/api/bma/access.py
index 0178cf92a8eb19868343fc9c88ef8216b0e2e355..bf1c62decba79c5ad5e9e895c0a8641275cedf99 100644
--- a/src/cutecoin/core/net/api/bma/access.py
+++ b/src/cutecoin/core/net/api/bma/access.py
@@ -128,10 +128,11 @@ class BmaAccess(QObject):
         """
         cache_key = BmaAccess._gen_cache_key(request, req_args, get_args)
         if cache_key in self._data.keys():
+            cached_data = self._data[cache_key]
             need_reload = False
-            if 'metadata' in self._data[cache_key]:
+            if 'metadata' in cached_data:
                 if str(request) not in BmaAccess.__saved_requests \
-                   and self._data[cache_key]['metadata']['block'] < self._network.latest_block:
+                   and cached_data['metadata']['block'] < self._network.latest_block:
                     need_reload = True
             else:
                 need_reload = True
@@ -161,9 +162,9 @@ class BmaAccess(QObject):
             if 'value' not in self._data[cache_key]:
                 self._data[cache_key]['value'] = {}
 
-        self._data[cache_key]['metadata']['block'] = self._network.latest_block
-        self._data[cache_key]['metadata']['cutecoin_version'] = __version__
         if not self._compare_json(self._data[cache_key]['value'], data):
+            self._data[cache_key]['metadata']['block'] = self._network.latest_block
+            self._data[cache_key]['metadata']['cutecoin_version'] = __version__
             self._data[cache_key]['value'] = data
             return True
         return False