diff --git a/src/sakia/data/entities/identity.py b/src/sakia/data/entities/identity.py
index 8fa1a56570f9069a1c1bb2416450e078d89ebed7..6f28d77c0e34a572281381d6d72c59691c69a389 100644
--- a/src/sakia/data/entities/identity.py
+++ b/src/sakia/data/entities/identity.py
@@ -7,8 +7,8 @@ class Identity:
     currency = attr.ib(convert=str)
     pubkey = attr.ib(convert=str)
     uid = attr.ib(convert=str)
-    signature = attr.ib(convert=str)
     blockstamp = attr.ib(convert=block_uid)
+    signature = attr.ib(convert=str)
     timestamp = attr.ib(convert=int)
     member = attr.ib(validator=attr.validators.instance_of(bool))
     membership_buid = attr.ib(convert=block_uid)
diff --git a/src/sakia/data/repositories/identities.py b/src/sakia/data/repositories/identities.py
index c9615450f56d19000be1decc4b801bf7e9974e26..8b5783d786e8a6e961a4c662f1ce00464559fed6 100644
--- a/src/sakia/data/repositories/identities.py
+++ b/src/sakia/data/repositories/identities.py
@@ -24,8 +24,8 @@ class IdentitiesRepo:
         with self._conn:
             self.conn.execute("UPDATE identities SET "
                               "UID=?, "
-                              "SIGNATURE=?, "
                               "BLOCKSTAMP=?,"
+                              "SIGNATURE=?, "
                               "TS=?,"
                               "MEMBER=?,"
                               "MS_BUID=?,"
diff --git a/src/sakia/data/repositories/meta.py b/src/sakia/data/repositories/meta.py
index 1d831c5c6cf5cb06a3e044fdaaa52b168bc58e79..7e66478220bfdcc5a4aaa0d3c7365b388c8d2cac 100644
--- a/src/sakia/data/repositories/meta.py
+++ b/src/sakia/data/repositories/meta.py
@@ -48,13 +48,13 @@ class MetaDatabase:
                                "CURRENCY varchar(30), "
                                "PUBKEY varchar(50),"
                                "UID varchar(255),"
-                               "SIGNATURE varchar(100),"
                                "BLOCKSTAMP varchar(100),"
+                               "SIGNATURE varchar(100),"
                                "TS int,"
                                "MEMBER boolean,"
                                "MS_BUID varchar(100),"
                                "MS_TIMESTAMP int,"
-                               "PRIMARY KEY (CURRENCY, PUBKEY)"
+                               "PRIMARY KEY (CURRENCY, PUBKEY, UID, BLOCKSTAMP)"
                                ")"
                                )
 
diff --git a/src/sakia/tests/unit/data/test_identies_repo.py b/src/sakia/tests/unit/data/test_identies_repo.py
index c33059fd9e8020260f0cee6f0d6d66b0a8e4355b..ca91bd6d7bdfc43c698cc52ee536bc25e7d30668 100644
--- a/src/sakia/tests/unit/data/test_identies_repo.py
+++ b/src/sakia/tests/unit/data/test_identies_repo.py
@@ -22,8 +22,8 @@ class TestIdentitiesRepo(unittest.TestCase):
         identities_repo = IdentitiesRepo(self.con)
         identities_repo.insert(Identity("testcurrency", "7Aqw6Efa9EzE7gtsc8SveLLrM7gm6NEGoywSv4FJx6pZ",
                                         "john",
-                                        "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
                                         "20-7518C700E78B56CC21FB1DDC6CBAB24E0FACC9A798F5ED8736EA007F38617D67",
+                                        "H41/8OGV2W4CLKbE35kk5t1HJQsb3jEM0/QGLUf80CwJvGZf3HvVCcNtHPUFoUBKEDQO9mPK3KJkqOoxHpqHCw==",
                                         1473108382,
                                         False,
                                         None,