diff --git a/editor/js/tools/deletetool.js b/editor/js/tools/deletetool.js
index 64a3cf41bacc02492bfd5246ee44a639ee5420e0..5a8acf6a7cfbce4c8a6ba41ae7fb0558641666b4 100644
--- a/editor/js/tools/deletetool.js
+++ b/editor/js/tools/deletetool.js
@@ -1,5 +1,5 @@
 import Tool from "./tool";
-import { graph } from "../editor";
+import { graph, state } from "../editor";
 import * as Graph from "../graph";
 
 export default class DeleteTool extends Tool {
@@ -9,6 +9,10 @@ export default class DeleteTool extends Tool {
 
     onNodeClick(node) {
         graph.deleteNode(node[Graph.NODE_ID]);
+        
+        if (state.selectedItem == node) {
+            state.setSelectedItem(undefined);
+        }
     }
 
     onLinkClick(link) {
@@ -16,5 +20,9 @@ export default class DeleteTool extends Tool {
             link[Graph.LINK_SOURCE][Graph.NODE_ID],
             link[Graph.LINK_TARGET][Graph.NODE_ID]
         );
+        
+        if (state.selectedItem == link) {
+            state.setSelectedItem(undefined);
+        }
     }
 }
diff --git a/editor/js/tools/selecttool.js b/editor/js/tools/selecttool.js
index 4af6892e8b3996bafe8707b7cbff1b45f8eff27f..0440e57e3ba1d2f9d1fe53acf00c36df6d66f460 100644
--- a/editor/js/tools/selecttool.js
+++ b/editor/js/tools/selecttool.js
@@ -28,4 +28,17 @@ export default class SelectTool extends Tool {
             graph.changeDetails(value);
         }
     }
+
+    onToolActivate() {
+        if (state === undefined) {
+            return;
+        }
+
+        var newSelection = state.selectedItem;
+        if (newSelection === undefined) {
+            newSelection = {};
+        }
+
+        this.menu.value(SelectMenu.SELECTION_KEY, newSelection);
+    }
 }