diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index d7e8e1bee6fb2a4a66e4b34f8f8dff9d129499b5..0ffcd2ec6ebf9e4f88d23569b8126c75a81122ca 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -254,8 +254,11 @@ class Application(QObject):
 
             for community in account.communities:
                 community.network.blockchain_rollback.connect(community.rollback_cache)
-                community.network.new_block_mined.connect(lambda b, co=community: account.refresh_transactions(self, co))
-                community.network.blockchain_rollback.connect(lambda b, co=community: account.rollback_transaction(self, co))
+                community.network.new_block_mined.connect(lambda b, co=community:
+                                                          account.refresh_transactions(self, co))
+                community.network.blockchain_rollback.connect(lambda b, co=community:
+                                                              account.rollback_transaction(self, co))
+                community.network.root_nodes_changed.connect(lambda acc=account: self.save(acc))
 
     def load_cache(self, account):
         """
diff --git a/src/cutecoin/core/net/network.py b/src/cutecoin/core/net/network.py
index 6d3bd0f3b7ba240c42b0f23bd974c5b0e2c4365c..4d49b68ee3dcd9b32d3a61e971766e3ae6d0a9ae 100644
--- a/src/cutecoin/core/net/network.py
+++ b/src/cutecoin/core/net/network.py
@@ -23,6 +23,7 @@ class Network(QObject):
     given community.
     """
     nodes_changed = pyqtSignal()
+    root_nodes_changed = pyqtSignal()
     new_block_mined = pyqtSignal(int)
     blockchain_rollback = pyqtSignal(int)
 
@@ -238,12 +239,16 @@ class Network(QObject):
                 n.state = Node.DESYNCED
 
     def _check_nodes_unique(self):
+        """
+        Check that all nodes are unique by them pubkeys
+        """
         pubkeys = set()
         unique_nodes = []
         for n in self.nodes:
             if n.pubkey not in pubkeys:
                 unique_nodes.append(n)
                 pubkeys.add(n.pubkey)
+
         self._nodes = unique_nodes
 
     def fork_window(self, members_pubkeys):
@@ -272,12 +277,14 @@ class Network(QObject):
         Add a node to the root nodes list
         """
         self._root_nodes.append(node)
+        self.root_nodes_changed.emit()
 
     def remove_root_node(self, index):
         """
         Remove a node from the root nodes list
         """
         self._root_nodes.pop(index)
+        self.root_nodes_changed.emit()
 
     def is_root_node(self, node):
         """
diff --git a/src/cutecoin/gui/network_tab.py b/src/cutecoin/gui/network_tab.py
index 245361b78df2ccb883768a4c628d64188f574466..dee4a989568ff299846383f8858ae75e86085fe4 100644
--- a/src/cutecoin/gui/network_tab.py
+++ b/src/cutecoin/gui/network_tab.py
@@ -91,11 +91,13 @@ class NetworkTabWidget(QWidget, Ui_NetworkTabWidget):
     def set_root_node(self):
         node = self.sender().data()
         self.community.network.add_root_node(node)
+        self.table_network.model().sourceModel().refresh_nodes()
 
     @pyqtSlot()
     def unset_root_node(self):
         index = self.sender().data()
         self.community.network.remove_root_node(index)
+        self.table_network.model().sourceModel().refresh_nodes()
 
     @pyqtSlot()
     def open_node_in_browser(self):