diff --git a/src/View/Network/Table.py b/src/View/Network/Table.py
index 3031350aadec2f5fcf0674860b79675b10c251d0..54ab5d74ed1b77a46e0d6ee480c69647e561e597 100644
--- a/src/View/Network/Table.py
+++ b/src/View/Network/Table.py
@@ -143,7 +143,8 @@ class GraphTableModel(QAbstractTableModel):
                     self.headers[index.column()] == "node2"):
                     node = self.graph.node(value)
                     self._undo.push(
-                        SetCommand(
+                        SetNodeCommand(
+                            self.graph,
                             self.rows[index.row()],
                             self.headers[index.column()],
                             node
diff --git a/src/View/Network/UndoCommand.py b/src/View/Network/UndoCommand.py
index 72c4f8ae8f9a1ddeec47a9776f8e624025faf194..979ec8664c1c72b69044b437ef8a0efaab935034 100644
--- a/src/View/Network/UndoCommand.py
+++ b/src/View/Network/UndoCommand.py
@@ -94,6 +94,22 @@ class SetCommand(QUndoCommand):
     def redo(self):
         self._el[self._column] = self._new
 
+
+class SetNodeCommand(QUndoCommand):
+    def __init__(self, graph, element, column, new_value):
+        QUndoCommand.__init__(self)
+
+        self._el = element
+        self._column = column
+        self._old = graph.node(self._el[self._column])
+        self._new = new_value
+
+    def undo(self):
+        self._el[self._column] = self._old
+
+    def redo(self):
+        self._el[self._column] = self._new
+
 class EnableEdgeCommand(QUndoCommand):
     def __init__(self, edge, enable):
         QUndoCommand.__init__(self)