diff --git a/daemon/core/emulator/session.py b/daemon/core/emulator/session.py
index 9264ce84..e0f1c1a4 100644
--- a/daemon/core/emulator/session.py
+++ b/daemon/core/emulator/session.py
@@ -591,7 +591,6 @@ class Session:
         :raises core.CoreError: when node to update does not exist
         """
         node = self.get_node(node_id, NodeBase)
-        node.canvas = options.canvas
         node.icon = options.icon
         self.set_node_position(node, options)
         self.sdt.edit_node(node, options.lon, options.lat, options.alt)
diff --git a/daemon/core/gui/graph/manager.py b/daemon/core/gui/graph/manager.py
index e85c01d6..00681848 100644
--- a/daemon/core/gui/graph/manager.py
+++ b/daemon/core/gui/graph/manager.py
@@ -211,6 +211,13 @@ class CanvasManager:
                 continue
             self.add_core_node(core_node)
 
+        # organize canvas tabs
+        canvas_ids = sorted(self.canvases)
+        for index, canvas_id in enumerate(canvas_ids):
+            canvas = self.canvases[canvas_id]
+            logging.info("sorting canvas index(%s) canvas(%s)", index, canvas_id)
+            self.notebook.insert(index, canvas.master)
+
         # draw existing links
         for link in session.links:
             node1 = self.core.get_canvas_node(link.node1_id)