diff --git a/app/lib/keyhelper.js b/app/lib/keyhelper.js
index e61ca34973576bab44395a88f280870634234c80..9b908e2ef734dc7661cc4c39a147b6739e36c46c 100644
--- a/app/lib/keyhelper.js
+++ b/app/lib/keyhelper.js
@@ -32,6 +32,13 @@ module.exports = {
     return new KeyHelper(packets);
   },
 
+  fromEncodedSeparatedPackets: function (encodedKeyPackets, encodedOtherCertifications){
+    var key = this.fromDecodedPackets(base64.decode(encodedKeyPackets));
+    if (encodedOtherCertifications)
+      key.setOtherCertifications(this.toPacketlist(encodedOtherCertifications));
+    return key;
+  },
+
   toPacketlist: function (encodedPackets){
     var packets = new PacketList();
     packets.read(base64.decode(encodedPackets));
diff --git a/app/models/keyblock.js b/app/models/keyblock.js
index 8a0e78b82cb042f0eacb3d115fc714bfef839a95..cce0243ec7b6b8e435b32b116fb4e5d881c8d1e1 100644
--- a/app/models/keyblock.js
+++ b/app/models/keyblock.js
@@ -75,8 +75,8 @@ KeyBlockSchema.methods = {
   getNewPubkeys: function() {
     var pubkeys = [];
     this.keysChanges.forEach(function(kc){
-      if (kc.type == 'F' || kc.type == 'N') {
-        pubkeys.push(kc.keypackets);
+      if (kc.type == 'N') {
+        pubkeys.push(keyhelper.fromEncodedSeparatedPackets(kc.keypackets, kc.certpackets));
       }
     });
     return pubkeys;
diff --git a/app/service/KeychainService.js b/app/service/KeychainService.js
index cc5a87931ab0f15f0d59cd8eb726c6d5eacac3a7..c9f1ddaa3a8ebc5d9699a31ae47a918f8f3daa42 100644
--- a/app/service/KeychainService.js
+++ b/app/service/KeychainService.js
@@ -520,8 +520,7 @@ function KeyService (conn, conf, PublicKeyService) {
       function (next){
         // Save new pubkeys (from NEWCOMERS)
         var pubkeys = block.getNewPubkeys();
-        async.forEach(pubkeys, function(encodedPackets, callback){
-          var key = keyhelper.fromEncodedPackets(encodedPackets);
+        async.forEach(pubkeys, function(key, callback){
           var fpr = key.getFingerprint();
           var uid = key.getUserID();
           var kid = fpr.substring(24);
@@ -529,7 +528,7 @@ function KeyService (conn, conf, PublicKeyService) {
             fingerprint: fpr,
             keyID: kid,
             uid: uid,
-            packets: encodedPackets
+            packets: key.getEncodedPacketList()
           });
           async.parallel({
             trusted: function(callback){