diff --git a/src/sakia/data/connectors/bma.py b/src/sakia/data/connectors/bma.py
index 1d91c91967dc15f83b4c055fc813fb4b489432bf..0a3378b779bff2382ed1c68ac156561c302f00c2 100644
--- a/src/sakia/data/connectors/bma.py
+++ b/src/sakia/data/connectors/bma.py
@@ -165,7 +165,15 @@ class BmaConnector:
 
     async def _verified_request(self, node, request):
         try:
-            return await request
+            res = await request
+            self._nodes_processor.handle_success(node)
+            return res
+        except errors.DuniterError as e:
+            if e.ucode == errors.HTTP_LIMITATION:
+                self._logger.debug("Exception in responses : " + str(e))
+                self._nodes_processor.handle_failure(node)
+            else:
+                return e
         except BaseException as e:
             self._logger.debug(str(e))
             self._nodes_processor.handle_failure(node)
@@ -233,6 +241,7 @@ class BmaConnector:
             else:
                 return _best_answer(answers, answers_data, nb_verification)
 
+        nodes = self._nodes_processor.nodes(currency)
         raise NoPeerAvailable("", len(synced_nodes))
 
     async def simple_get(self, currency, request, req_args):
diff --git a/src/sakia/services/network.py b/src/sakia/services/network.py
index 826d590cacfefa9d8013405a521dc84a73fe5d14..d52b28b2acffb976ad417d3e25e00bf0fc721bff 100644
--- a/src/sakia/services/network.py
+++ b/src/sakia/services/network.py
@@ -87,7 +87,7 @@ class NetworkService(QObject):
                     sample.append(n)
                     continue
 
-        for node in random.sample(sample, 6):
+        for node in random.sample(sample, min(len(sample), 6)):
             connectors.append(NodeConnector(node, app.parameters))
         network = cls(app, currency, node_processor, connectors, blockchain_service, identities_service)
         return network
@@ -176,7 +176,7 @@ class NetworkService(QObject):
                                     sample.append(n)
                                     continue
 
-                        for node in random.sample(sample, 1):
+                        for node in random.sample(sample, min(len(sample), 1)):
                             self.add_connector(NodeConnector(node, self.app.parameters))
 
 
diff --git a/tests/conftest.py b/tests/conftest.py
index c3df0702163faf08387d043ef02c2477a6c7eb85..adf119901e38ed47e99622ed3bc0bbc00104866a 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -102,7 +102,7 @@ def fake_server(application, event_loop):
                                           uid="",
                                           current_buid=BlockUID.empty(),
                                           current_ts=0,
-                                          state=Node.ONLINE,
+                                          state=0,
                                           software="duniter",
                                           version="0.40.2"))
     application.instanciate_services()
diff --git a/tests/functional/test_connection_cfg_dialog.py b/tests/functional/test_connection_cfg_dialog.py
index 10599d381748e8ab0e917f35ee5f2239976424bb..54ebcf8204b20c24884d4c784d2cd4306fcc5e25 100644
--- a/tests/functional/test_connection_cfg_dialog.py
+++ b/tests/functional/test_connection_cfg_dialog.py
@@ -65,7 +65,7 @@ async def test_register_empty_blockchain(application, fake_server, bob, tmpdir):
         assert len(ConnectionsProcessor.instanciate(application).connections()) == 1
         accept_dialog("Registration")
 
-    application.loop.call_later(10, close_dialog)
+    application.loop.call_later(30, close_dialog)
     asyncio.ensure_future(exec_test())
     await connection_config_dialog.async_exec()
     await fake_server.close()