diff --git a/src/cutecoin/core/net/network.py b/src/cutecoin/core/net/network.py
index f483db38b2bb6a992ec36f7b32196f7ae89e5694..d23edee9eb686a3a022a4e19b9817ca72f727acb 100644
--- a/src/cutecoin/core/net/network.py
+++ b/src/cutecoin/core/net/network.py
@@ -200,12 +200,12 @@ class Network(QObject):
                     node.refresh()
         logging.debug("End of network discovery")
 
-    @pyqtSlot(Peer)
-    def handle_new_node(self, peer):
+    @pyqtSlot(Peer, str)
+    def handle_new_node(self, peer, pubkey):
         pubkeys = [n.pubkey for n in self.nodes]
         if peer.pubkey not in pubkeys:
             logging.debug("New node found : {0}".format(peer.pubkey[:5]))
-            node = Node.from_peer(self.network_manager, self.currency, peer)
+            node = Node.from_peer(self.network_manager, self.currency, peer, pubkey)
             self.add_node(node)
             self.nodes_changed.emit()
 
diff --git a/src/cutecoin/core/net/node.py b/src/cutecoin/core/net/node.py
index 617d0fdf1153d572367446637b26ca12e52410f9..3497eb2cca5e0904afc86496cb6b1d247c5db1de 100644
--- a/src/cutecoin/core/net/node.py
+++ b/src/cutecoin/core/net/node.py
@@ -33,7 +33,7 @@ class Node(QObject):
     CORRUPTED = 4
 
     changed = pyqtSignal()
-    neighbour_found = pyqtSignal(Peer)
+    neighbour_found = pyqtSignal(Peer, str)
 
     def __init__(self, network_manager, currency, endpoints, uid, pubkey, block,
                  state, last_change, last_merkle, software, version):
@@ -97,7 +97,7 @@ class Node(QObject):
             return None
 
     @classmethod
-    def from_peer(cls, network_manager, currency, peer):
+    def from_peer(cls, network_manager, currency, peer, pubkey):
         """
         Factory method to get a node from a peer document.
 
@@ -109,7 +109,7 @@ class Node(QObject):
             if peer.currency != currency:
                 raise InvalidNodeCurrency(peer.currency, currency)
 
-        node = cls(network_manager, peer.currency, peer.endpoints, "", "", 0,
+        node = cls(network_manager, peer.currency, peer.endpoints, "", pubkey, 0,
                    Node.ONLINE, time.time(),
                    {'root': "", 'leaves': []},
                    "", "")
@@ -450,7 +450,8 @@ class Node(QObject):
             leaf_data = json.loads(strdata)
             doc = Peer.from_signed_raw("{0}{1}\n".format(leaf_data['leaf']['value']['raw'],
                                                         leaf_data['leaf']['value']['signature']))
-            self.neighbour_found.emit(doc)
+            pubkey = leaf_data['leaf']['value']['pubkey']
+            self.neighbour_found.emit(doc, pubkey)
         else:
             logging.debug("Error in leaf reply")