diff --git a/src/sakia/core/net/api/bma/access.py b/src/sakia/core/net/api/bma/access.py
index e2a8ba1e9e7ee7512b4b11db5ec87a2d7a7e56d6..36d08852067ff17b2a794e29ee21b78dbbd99a15 100644
--- a/src/sakia/core/net/api/bma/access.py
+++ b/src/sakia/core/net/api/bma/access.py
@@ -261,11 +261,11 @@ class BmaAccess(QObject):
         """
         nodes = self.filter_nodes(request, self._network.synced_nodes)
         if len(nodes) > 0:
-            node = random.choice(nodes)
-            req = request(node.endpoint.conn_handler(), **req_args)
             tries = 0
             json_data = None
             while tries < 3:
+                node = random.choice(nodes)
+                req = request(node.endpoint.conn_handler(), **req_args)
                 try:
                     json_data = await req.get(**get_args, session=self._network.session)
                     return json_data