diff --git a/src/sakia/data/processors/identities.py b/src/sakia/data/processors/identities.py
index 5967c4c8e18484d6d92e0b31e5ca5fe8ba7de3d9..381f32e64e7d9e07fb1cabd74717a21c3c7f1c4b 100644
--- a/src/sakia/data/processors/identities.py
+++ b/src/sakia/data/processors/identities.py
@@ -165,6 +165,7 @@ class IdentitiesProcessor:
         log_stream("Requesting membership data")
         progress(1 / 3)
         try:
+            # Return a 1002 - MEMBER_NOT_FOUND if identity has no memberships or not written in blockchain
             memberships_data = await self._bma_connector.get(
                 identity.currency,
                 bma.blockchain.memberships,
@@ -215,7 +216,7 @@ class IdentitiesProcessor:
                 identity.outdistanced = identity_data["outdistanced"]
                 self.insert_or_update_identity(identity)
         except errors.DuniterError as e:
-            if e.ucode == errors.NO_MEMBER_MATCHING_PUB_OR_UID:
+            if e.ucode == errors.NO_MEMBER_MATCHING_PUB_OR_UID or e.message == 'MEMBER_NOT_FOUND':
                 identity.written = False
                 self.insert_or_update_identity(identity)
             else:
diff --git a/src/sakia/gui/dialogs/connection_cfg/controller.py b/src/sakia/gui/dialogs/connection_cfg/controller.py
index d91ed16564dc4f8d2ac3e3939b73c686aa47a952..f3e0bb3b61e79784cb8a640ff84106bd9b7f4702 100644
--- a/src/sakia/gui/dialogs/connection_cfg/controller.py
+++ b/src/sakia/gui/dialogs/connection_cfg/controller.py
@@ -274,7 +274,7 @@ class ConnectionConfigController(QObject):
             self.view.edit_uid.show()
             asyncio.ensure_future(self.process())
             return
-        self.accept()
+        await self.accept()
 
     def check_key(self):
         if self.mode == ConnectionConfigController.PUBKEY:
@@ -389,8 +389,10 @@ Yours : {0}, the network : {1}""".format(
 
                 except DuniterError as e:
                     self.view.display_info(e.message)
+                    self.step_key.set_result(None)
                 except NoPeerAvailable as e:
                     self.view.display_info(str(e))
+                    self.step_key.set_result(None)
             else:
                 self.view.display_info(
                     self.tr("A connection already exists using this key.")