diff --git a/src/View/Network/GraphWidget.py b/src/View/Network/GraphWidget.py
index 3fbc96d9ba84e1bda07841e2f9d705898a0d1edc..2d96617be477a198cdaa3c7f9f7ff0063fcf89ee 100644
--- a/src/View/Network/GraphWidget.py
+++ b/src/View/Network/GraphWidget.py
@@ -624,11 +624,18 @@ class GraphWidget(QGraphicsView):
         Returns:
             Nothing
         """
-        previous_node = self._selected_new_edge_src_node
-        self._selected_new_edge_src_node = node
+        try:
+            previous_node = self._selected_new_edge_src_node
+            self._selected_new_edge_src_node = node
+
+            if node is None:
+                if self.tmp_line is not None:
+                    self.tmp_line = None
 
-        if previous_node:
-            previous_node.update()
+            if previous_node is not None:
+                previous_node.update()
+        except Exception as e:
+            logger.warning(str(e))
 
     def current_edge(self):
         """The current selected edge
@@ -732,6 +739,7 @@ class GraphWidget(QGraphicsView):
             nodes = list(filter(lambda i: type(i) is NodeItem, items))
             if not nodes:
                 self.add_node(pos)
+                self.set_selected_new_edge_src_node(None)
             else:
                 if self.selected_new_edge_src_node() is None:
                     self.set_selected_new_edge_src_node(nodes[0])