diff --git a/src/cutecoin/core/registry/identities.py b/src/cutecoin/core/registry/identities.py
index 5a97deb7c5dcdf848ce4046ec8ef4eec662f8cbc..17c4042696df6a7a0da481f8f4f0869d31116465 100644
--- a/src/cutecoin/core/registry/identities.py
+++ b/src/cutecoin/core/registry/identities.py
@@ -30,23 +30,40 @@ class IdentitiesRegistry:
         :param dict json_data: The identities in json format
         """
         instances = {}
-
-        for person_data in json_data['registry']:
-            pubkey = person_data['pubkey']
-            if pubkey not in instances:
-                person = Identity.from_json(person_data)
-                instances[person.pubkey] = person
+        for currency in json_data['registry']:
+            for person_data in currency:
+                pubkey = person_data['pubkey']
+                if pubkey not in instances:
+                    person = Identity.from_json(person_data)
+                    instances[person.pubkey] = person
         self._instances = instances
 
     def jsonify(self):
-        identities_json = []
-        for identity in self._instances.values():
-            identities_json.append(identity.jsonify())
-        return {'registry': identities_json}
+        communities_json = []
+        for community in self._instances:
+            identities_json = []
+            for identity in self._instances[community].values():
+                identities_json.append(identity.jsonify())
+            communities_json[community] = identities_json
+        return {'registry': communities_json}
+
+    def _identities(self, community):
+        """
+        If the registry do not have data for this community
+        Create a new dict and return it
+        :param  cutecoin.core.Community community: the community
+        :return: The identities of the community
+        :rtype: dict
+        """
+        try:
+            return self._instances[community.currency]
+        except KeyError:
+            self._instances[community.currency] = {}
+            return self._identities(community)
 
     @asyncio.coroutine
     def _find_by_lookup(self, pubkey, community):
-        identity = self._instances[pubkey]
+        identity = self._identities(community)[pubkey]
         lookup_tries = 0
         while lookup_tries < 3:
             try:
@@ -78,11 +95,11 @@ class IdentitiesRegistry:
 
     @asyncio.coroutine
     def future_find(self, pubkey, community):
-        if pubkey in self._instances:
-            identity = self._instances[pubkey]
+        if pubkey in self._identities(community):
+            identity = self._identities(community)[pubkey]
         else:
             identity = Identity.empty(pubkey)
-            self._instances[pubkey] = identity
+            self._identities(community)[pubkey] = identity
             tries = 0
             while tries < 3 and identity.local_state == LocalState.NOT_FOUND:
                 try:
@@ -105,7 +122,7 @@ class IdentitiesRegistry:
                     return identity
         return identity
 
-    def from_handled_data(self, uid, pubkey, blockchain_state):
+    def from_handled_data(self, uid, pubkey, blockchain_state, community):
         """
         Get a person from a metadata dict.
         A metadata dict has a 'text' key corresponding to the person uid,
@@ -115,11 +132,11 @@ class IdentitiesRegistry:
         :return: A new person if pubkey wasn't knwon, else the existing instance.
         """
         if pubkey in self._instances:
-            if self._instances[pubkey].blockchain_state == BlockchainState.NOT_FOUND:
-                self._instances[pubkey].blockchain_state = blockchain_state
-            elif self._instances[pubkey].blockchain_state != BlockchainState.VALIDATED \
+            if self._identities(community)[pubkey].blockchain_state == BlockchainState.NOT_FOUND:
+                self._identities(community)[pubkey].blockchain_state = blockchain_state
+            elif self._identities(community)[pubkey].blockchain_state != BlockchainState.VALIDATED \
                     and blockchain_state == BlockchainState.VALIDATED:
-                self._instances[pubkey].blockchain_state = blockchain_state
+                self._identities(community)[pubkey].blockchain_state = blockchain_state
 
             # TODO: Random bug in ucoin makes the uid change without reason in requests answers
             # https://github.com/ucoin-io/ucoin/issues/149
@@ -127,11 +144,11 @@ class IdentitiesRegistry:
             #    self._instances[pubkey].uid = uid
             #    self._instances[pubkey].inner_data_changed.emit("BlockchainState")
 
-            if self._instances[pubkey].local_state == LocalState.NOT_FOUND:
-                self._instances[pubkey].local_state = LocalState.COMPLETED
+            if self._identities(community)[pubkey].local_state == LocalState.NOT_FOUND:
+                self._identities(community)[pubkey].local_state = LocalState.COMPLETED
 
-            return self._instances[pubkey]
+            return self._identities(community)[pubkey]
         else:
             identity = Identity.from_handled_data(uid, pubkey, blockchain_state)
-            self._instances[pubkey] = identity
+            self._identities(community)[pubkey] = identity
             return identity
diff --git a/src/cutecoin/core/registry/identity.py b/src/cutecoin/core/registry/identity.py
index a646f1d7e1a53e16b004bf802eaae8d6b97c991c..fa83ca5c23f38f7502de24b5e4a0a754e27c2e2f 100644
--- a/src/cutecoin/core/registry/identity.py
+++ b/src/cutecoin/core/registry/identity.py
@@ -254,7 +254,8 @@ class Identity(QObject):
                 certifier = {}
                 certifier['identity'] = identities_registry.from_handled_data(certifier_data['uid'],
                                                                               certifier_data['pubkey'],
-                                                                              BlockchainState.VALIDATED)
+                                                                              BlockchainState.VALIDATED,
+                                                                              community)
                 certifier['cert_time'] = certifier_data['cert_time']['medianTime']
                 certifier['block_number'] = certifier_data['cert_time']['block']
                 certifiers.append(certifier)
@@ -272,7 +273,8 @@ class Identity(QObject):
                                         certifier = {}
                                         certifier['identity'] = identities_registry.from_handled_data(uid,
                                                                                                       certifier_data['pubkey'],
-                                                                              BlockchainState.BUFFERED)
+                                                                                                        BlockchainState.BUFFERED,
+                                                                                                      community)
                                         block = yield from community.bma_access.future_request(bma.blockchain.Block,
                                                                              {'number': certifier_data['meta']['block_number']})
                                         certifier['cert_time'] = block['medianTime']
@@ -310,6 +312,8 @@ class Identity(QObject):
     def certified_by(self, identities_registry, community):
         """
         Get the list of persons certified by this person
+        :param cutecoin.core.registry.IdentitiesRegistry identities_registry: The registry
+        :param cutecoin.core.Community community: The community
 
         :param cutecoin.core.community.Community community: The community target to request the join date
         :return: The list of the certified persons of this community in BMA json format
@@ -321,7 +325,8 @@ class Identity(QObject):
                 certified = {}
                 certified['identity'] = identities_registry.from_handled_data(certified_data['uid'],
                                                                               certified_data['pubkey'],
-                                                                              BlockchainState.VALIDATED)
+                                                                              BlockchainState.VALIDATED,
+                                                                              community)
                 certified['cert_time'] = certified_data['cert_time']['medianTime']
                 certified['block_number'] = certified_data['cert_time']['block']
                 certified_list.append(certified)
@@ -336,7 +341,8 @@ class Identity(QObject):
                                 certified = {}
                                 certified['identity'] = identities_registry.from_handled_data(certified_data['uid'],
                                                                                   certified_data['pubkey'],
-                                                                                  BlockchainState.BUFFERED)
+                                                                                  BlockchainState.BUFFERED,
+                                                                                  community)
                                 certified['cert_time'] = certified_data['meta']['timestamp']
                                 certified['block_number'] = None
                                 certified_list.append(certified)
diff --git a/src/cutecoin/gui/wot_tab.py b/src/cutecoin/gui/wot_tab.py
index 83f5d8a0cb934a8f507a6f26689e8786035bf0f4..ae740ce3f820602ea3dd4205f5e2049380890639 100644
--- a/src/cutecoin/gui/wot_tab.py
+++ b/src/cutecoin/gui/wot_tab.py
@@ -167,7 +167,8 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
             self.app.identities_registry.from_handled_data(
                 metadata['text'],
                 metadata['id'],
-                BlockchainState.VALIDATED
+                BlockchainState.VALIDATED,
+                self.community
             )
         )
 
@@ -281,7 +282,8 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
             self.app.identities_registry.from_handled_data(
                 metadata['text'],
                 metadata['id'],
-                BlockchainState.VALIDATED
+                BlockchainState.VALIDATED,
+                self.community
             )
         )
 
@@ -289,7 +291,8 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
         identity = self.app.identities_registry.from_handled_data(
             metadata['text'],
             metadata['id'],
-            BlockchainState.VALIDATED
+            BlockchainState.VALIDATED,
+            self.community
         )
         dialog = MemberDialog(self.app, self.account, self.community, identity)
         dialog.exec_()
@@ -298,7 +301,8 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
         identity = self.app.identities_registry.from_handled_data(
             metadata['text'],
             metadata['id'],
-            BlockchainState.VALIDATED
+            BlockchainState.VALIDATED,
+            self.community
         )
         CertificationDialog.certify_identity(self.app, self.account, self.password_asker,
                                              self.community, identity)
@@ -307,7 +311,8 @@ class WotTabWidget(QWidget, Ui_WotTabWidget):
         identity = self.app.identities_registry.from_handled_data(
             metadata['text'],
             metadata['id'],
-            BlockchainState.VALIDATED
+            BlockchainState.VALIDATED,
+            self.community
         )
         result = TransferMoneyDialog.send_money_to_identity(self.app, self.account, self.password_asker,
                                                             self.community, identity)
diff --git a/src/cutecoin/tests/gui/certification/test_certification.py b/src/cutecoin/tests/gui/certification/test_certification.py
index 301d9441b556aff39b86970672118463b9aeeda2..0e2de3a87e91dd0011d906617731564f20aaaf35 100644
--- a/src/cutecoin/tests/gui/certification/test_certification.py
+++ b/src/cutecoin/tests/gui/certification/test_certification.py
@@ -29,7 +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.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 6dd89e9db8fe136d1b5b6419ecbb4ef2edcf6be7..6f3e3b9b1da473a7f0d5c13b9b075f491c8ff48c 100644
--- a/src/cutecoin/tests/gui/identities_tab/test_identities_table.py
+++ b/src/cutecoin/tests/gui/identities_tab/test_identities_table.py
@@ -28,7 +28,6 @@ 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/gui/process_cfg_community/test_add_community.py b/src/cutecoin/tests/gui/process_cfg_community/test_add_community.py
index 1e7295915f29b2da89302fe98c9d77365d600fa8..ce4660746d1e9fdfbcf56b80b579267cdca9b786 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
@@ -233,7 +233,7 @@ Yours : wrong_pubkey, the network : 7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ
             self.assertEqual(mock.get_request(1).method, 'GET')
             self.assertEqual(mock.get_request(1).url,
                              '/wot/certifiers-of/7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ')
-            self.assertEqual(process_community.label_error.text(), """Your pubkey or UID  is different on the network.
+            self.assertEqual(process_community.label_error.text(), """Your pubkey or UID is different on the network.
 Yours : wrong_uid, the network : john""")
             process_community.close()