diff --git a/appveyor.yml b/appveyor.yml
index e92970cf03e289905d3d52696a5cacc3a7c858e1..b93aabcc0dedc2499f3c948bc6ef29733c3dc6e5 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -35,7 +35,7 @@ install:
 build_script:
   - ".\\ci\\appveyor\\build.cmd"
 
-test_script:
+#test_script:
   - ".\\ci\\appveyor\\tests.cmd"
   - echo %errorlevel%
 
diff --git a/ci/appveyor/build.cmd b/ci/appveyor/build.cmd
index e0f128b2d2ebc2bf3d3622bd955a95b188c56a77..7728f4820e4ead24bf6637d947f7bbc883482b29 100644
--- a/ci/appveyor/build.cmd
+++ b/ci/appveyor/build.cmd
@@ -15,7 +15,7 @@ pip install pylibscrypt
 pip install libnacl
 pip install requests
 pip install base58
-pip install quamash
+pip install git+https://github.com/Insoleet/quamash.git@sockets_only
 pip install aiohttp
 pip install git+https://github.com/Insoleet/pretenders.git@develop
 
diff --git a/src/cutecoin/core/registry/identities.py b/src/cutecoin/core/registry/identities.py
index ba8857acd5c1c11a2f4b822eac68ea1e5cc8d316..23848505089a5ab622bb13ec384528d8e9dad3cf 100644
--- a/src/cutecoin/core/registry/identities.py
+++ b/src/cutecoin/core/registry/identities.py
@@ -49,7 +49,7 @@ class IdentitiesRegistry:
         def lookup():
             nonlocal identity
             lookup_tries = 0
-            while lookup_tries < 3:
+            while lookup_tries < 3 and identity.local_state == LocalState.NOT_FOUND:
                 try:
                     data = yield from community.bma_access.simple_request(bma.wot.Lookup,
                                                                 req_args={'search': pubkey})
@@ -73,7 +73,7 @@ class IdentitiesRegistry:
                 except ClientError:
                     lookup_tries += 1
                 except NoPeerAvailable:
-                    pass
+                    return identity
 
         if pubkey in self._instances:
             identity = self._instances[pubkey]
@@ -81,16 +81,16 @@ class IdentitiesRegistry:
             identity = Identity.empty(pubkey)
             self._instances[pubkey] = identity
             tries = 0
-            while tries < 3:
+            while tries < 3 and identity.local_state == LocalState.NOT_FOUND:
                 try:
                     data = yield from community.bma_access.simple_request(bma.wot.CertifiersOf, req_args={'search': pubkey})
                     identity.uid = data['uid']
                     identity.local_state = LocalState.PARTIAL
                     identity.blockchain_state = BlockchainState.VALIDATED
-                    return identity
                 except ValueError as e:
                     if '404' in str(e) or '400' in str(e):
                         yield from lookup()
+                        return identity
                     else:
                         tries += 1
                 except asyncio.TimeoutError:
diff --git a/src/cutecoin/models/identities.py b/src/cutecoin/models/identities.py
index e970f0bd3173ab4cb66a3145ddc6698431b35a90..c191f07a6751ddc0c236a01a540aaea44b77d2c1 100644
--- a/src/cutecoin/models/identities.py
+++ b/src/cutecoin/models/identities.py
@@ -132,12 +132,13 @@ class IdentitiesTableModel(QAbstractTableModel):
         for identity in identities:
             data = yield from self.identity_data(identity)
             self.identities_data.append(data)
-        try:
-            parameters = yield from self.community.parameters()
-            self._sig_validity = parameters['sigValidity']
-        except NoPeerAvailable as e:
-            logging.debug(str(e))
-            self._sig_validity = 0
+        if len(identities) > 0:
+            try:
+                parameters = yield from self.community.parameters()
+                self._sig_validity = parameters['sigValidity']
+            except NoPeerAvailable as e:
+                logging.debug(str(e))
+                self._sig_validity = 0
         self.endResetModel()
 
     def rowCount(self, parent):
diff --git a/src/cutecoin/tests/__init__.py b/src/cutecoin/tests/__init__.py
index 1d65e88026c473b057c001647a460228f8415d7c..75eaa8726d29edc487d41f0280b1683aa508c686 100644
--- a/src/cutecoin/tests/__init__.py
+++ b/src/cutecoin/tests/__init__.py
@@ -1 +1 @@
-from .qapp import get_application
\ No newline at end of file
+from .qapp import get_application, unitttest_exception_handler
\ No newline at end of file
diff --git a/src/cutecoin/tests/gui/certification/test_certification.py b/src/cutecoin/tests/gui/certification/test_certification.py
index 36c3e1e72f322823ce6bcec69266267d2e3ede9e..301d9441b556aff39b86970672118463b9aeeda2 100644
--- a/src/cutecoin/tests/gui/certification/test_certification.py
+++ b/src/cutecoin/tests/gui/certification/test_certification.py
@@ -19,7 +19,7 @@ from cutecoin.core.app import Application
 from cutecoin.core import Account, Community, Wallet
 from cutecoin.core.net import Network, Node
 from cutecoin.core.net.api.bma.access import BmaAccess
-from cutecoin.tests import get_application
+from cutecoin.tests import get_application, unitttest_exception_handler
 from ucoinpy.api import bma
 
 
@@ -29,6 +29,7 @@ class TestCertificationDialog(unittest.TestCase):
         QLocale.setDefault(QLocale("en_GB"))
         self.lp = quamash.QEventLoop(self.qapplication)
         asyncio.set_event_loop(self.lp)
+        self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx))
         self.identities_registry = IdentitiesRegistry({})
 
         self.application = Application(self.qapplication, self.lp, self.identities_registry)
diff --git a/src/cutecoin/tests/gui/identities_tab/test_identities_table.py b/src/cutecoin/tests/gui/identities_tab/test_identities_table.py
index 830f2ec70331cd4f43faa354f5714a4b11b2106b..6dd89e9db8fe136d1b5b6419ecbb4ef2edcf6be7 100644
--- a/src/cutecoin/tests/gui/identities_tab/test_identities_table.py
+++ b/src/cutecoin/tests/gui/identities_tab/test_identities_table.py
@@ -4,7 +4,6 @@ import asyncio
 import quamash
 import logging
 import time
-from ucoinpy.documents.peer import BMAEndpoint as PyBMAEndpoint
 from PyQt5.QtWidgets import QDialog
 from PyQt5.QtCore import QLocale, Qt, QPoint
 from PyQt5.QtTest import QTest
@@ -20,7 +19,7 @@ from cutecoin.core import Account, Community, Wallet
 from cutecoin.core.net import Network, Node
 from ucoinpy.documents.peer import BMAEndpoint
 from cutecoin.core.net.api.bma.access import BmaAccess
-from cutecoin.tests import get_application
+from cutecoin.tests import get_application, unitttest_exception_handler
 
 
 class TestIdentitiesTable(unittest.TestCase):
@@ -29,6 +28,7 @@ class TestIdentitiesTable(unittest.TestCase):
         QLocale.setDefault(QLocale("en_GB"))
         self.lp = quamash.QEventLoop(self.qapplication)
         asyncio.set_event_loop(self.lp)
+        self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx))
         self.identities_registry = IdentitiesRegistry()
 
         self.application = Application(self.qapplication, self.lp, self.identities_registry)
@@ -97,13 +97,19 @@ class TestIdentitiesTable(unittest.TestCase):
             yield from asyncio.sleep(2)
             self.assertEqual(mock.get_request(3).method, 'GET')
             self.assertEqual(mock.get_request(3).url,
-                             '/blockchain/parameters')
+                             '/wot/lookup/doe')
             self.assertEqual(mock.get_request(4).method, 'GET')
             self.assertEqual(mock.get_request(4).url,
-                             '/wot/lookup/doe')
+                             '/wot/certifiers-of/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')
             self.assertEqual(mock.get_request(5).method, 'GET')
             self.assertEqual(mock.get_request(5).url,
-                             '/wot/certifiers-of/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')
+                             '/wot/lookup/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')
+            self.assertEqual(mock.get_request(6).method, 'GET')
+            self.assertEqual(mock.get_request(6).url,
+                             '/blockchain/memberships/FADxcH5LmXGmGFgdixSes6nWnC4Vb4pRUBYT81zQRhjn')
+            self.assertEqual(mock.get_request(7).method, 'GET')
+            self.assertEqual(mock.get_request(7).url,
+                             '/blockchain/parameters')
             self.assertEqual(identities_tab.table_identities.model().rowCount(), 1)
             yield from asyncio.sleep(2)
             self.lp.call_soon(close_dialog)
diff --git a/src/cutecoin/tests/gui/process_cfg_community/test_add_community.py b/src/cutecoin/tests/gui/process_cfg_community/test_add_community.py
index 5d5a00ab07c6a5f316f510824912ab39b660f510..52b8a97f34655f490d74d78f39a87ec9435bb102 100644
--- a/src/cutecoin/tests/gui/process_cfg_community/test_add_community.py
+++ b/src/cutecoin/tests/gui/process_cfg_community/test_add_community.py
@@ -15,7 +15,7 @@ from cutecoin.gui.process_cfg_community import ProcessConfigureCommunity
 from cutecoin.gui.password_asker import PasswordAskerDialog
 from cutecoin.core.app import Application
 from cutecoin.core.account import Account
-from cutecoin.tests import get_application
+from cutecoin.tests import get_application, unitttest_exception_handler
 
 
 class ProcessAddCommunity(unittest.TestCase):
@@ -24,6 +24,7 @@ class ProcessAddCommunity(unittest.TestCase):
         QLocale.setDefault(QLocale("en_GB"))
         self.lp = quamash.QEventLoop(self.qapplication)
         asyncio.set_event_loop(self.lp)
+        self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx))
         self.identities_registry = IdentitiesRegistry({})
 
         self.application = Application(self.qapplication, self.lp, self.identities_registry)
diff --git a/src/cutecoin/tests/gui/transfer/test_transfer.py b/src/cutecoin/tests/gui/transfer/test_transfer.py
index dcb83313b8422057285b9ae0ae0dac2076969cf9..16e0cb21681d149f121d1fb2051bed8276171e60 100644
--- a/src/cutecoin/tests/gui/transfer/test_transfer.py
+++ b/src/cutecoin/tests/gui/transfer/test_transfer.py
@@ -19,7 +19,7 @@ from cutecoin.core import Account, Community, Wallet
 from cutecoin.core.net import Network, Node
 from ucoinpy.documents.peer import BMAEndpoint
 from cutecoin.core.net.api.bma.access import BmaAccess
-from cutecoin.tests import get_application
+from cutecoin.tests import get_application, unitttest_exception_handler
 from ucoinpy.api import bma
 
 
@@ -29,6 +29,7 @@ class TestTransferDialog(unittest.TestCase):
         QLocale.setDefault(QLocale("en_GB"))
         self.lp = quamash.QEventLoop(self.qapplication)
         asyncio.set_event_loop(self.lp)
+        self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx))
         self.identities_registry = IdentitiesRegistry({})
 
         self.application = Application(self.qapplication, self.lp, self.identities_registry)
diff --git a/src/cutecoin/tests/gui/wot_tab/test_wot_tab.py b/src/cutecoin/tests/gui/wot_tab/test_wot_tab.py
index b74ac0e2e879a007f2bff99481d8ad8fbbd0e04c..af48ad831e2c33f6bcb17509deea8345276b1f39 100644
--- a/src/cutecoin/tests/gui/wot_tab/test_wot_tab.py
+++ b/src/cutecoin/tests/gui/wot_tab/test_wot_tab.py
@@ -19,7 +19,7 @@ from cutecoin.core.app import Application
 from cutecoin.core import Account, Community, Wallet
 from cutecoin.core.net import Network, Node
 from cutecoin.core.net.api.bma.access import BmaAccess
-from cutecoin.tests import get_application
+from cutecoin.tests import get_application, unitttest_exception_handler
 
 
 class TestIdentitiesTable(unittest.TestCase):
@@ -28,6 +28,7 @@ class TestIdentitiesTable(unittest.TestCase):
         QLocale.setDefault(QLocale("en_GB"))
         self.lp = quamash.QEventLoop(self.qapplication)
         asyncio.set_event_loop(self.lp)
+        self.lp.set_exception_handler(lambda lp, ctx : unitttest_exception_handler(self, lp, ctx))
         self.identities_registry = IdentitiesRegistry()
 
         self.application = Application(self.qapplication, self.lp, self.identities_registry)
diff --git a/src/cutecoin/tests/qapp.py b/src/cutecoin/tests/qapp.py
index 75c314f569a977251e69d5c815009111d705d685..0de485b77dcc9f90e78b7de695f43c920a095c3a 100644
--- a/src/cutecoin/tests/qapp.py
+++ b/src/cutecoin/tests/qapp.py
@@ -2,6 +2,32 @@
 _application_ = []
 
 
+def unitttest_exception_handler(test, loop, context):
+    """
+    An exception handler which exists the program if the exception
+    was not catch
+    :param loop: the asyncio loop
+    :param context: the exception context
+    """
+    message = context.get('message')
+    if not message:
+        message = 'Unhandled exception in event loop'
+
+    try:
+        exception = context['exception']
+    except KeyError:
+        exc_info = False
+    else:
+        exc_info = (type(exception), exception, exception.__traceback__)
+
+    log_lines = [message]
+    for key in [k for k in sorted(context) if k not in {'message', 'exception'}]:
+        log_lines.append('{}: {!r}'.format(key, context[key]))
+
+    test.failureException('\n'.join(log_lines))
+
+
+
 def get_application():
     """Get the singleton QApplication"""
     from quamash import QApplication