diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index d7db74e0432d53f3b3259af684868cb8e5efac5b..02e5d4b5a0a02eb9289a4623471514ed5834fe85 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -233,6 +233,7 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
     public final static byte AVATAR_SYNTAXCHECKING_OK = 47;
     public final static byte PANEL_CHANGED = 48;
     public final static byte ATTACKTREE_SYNTAXCHECKING_OK = 49;
+    public final static byte COMPONENT_SELECTED = 50;
 
     public final static int INCREMENT = 10;
 
@@ -2816,6 +2817,7 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
 
     public void delete() {
         getCurrentTDiagramPanel().makeDelete();
+        setMode(MainGUI.OPENED);
     }
 
     public void backward() {
diff --git a/src/main/java/ui/ModeManager.java b/src/main/java/ui/ModeManager.java
index fb11391da3bdbcb805540c47e823de29ff1cfcd4..a8a33ab8ad617461bba039f230a18170ed531d11 100755
--- a/src/main/java/ui/ModeManager.java
+++ b/src/main/java/ui/ModeManager.java
@@ -119,12 +119,12 @@ public class ModeManager {
             actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_DIAGRAM].setEnabled(true);
             actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_SET_OF_DIAGRAMS].setEnabled(true);
             actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_ALL_DIAGRAMS].setEnabled(true);
-            actions[TGUIAction.ACT_DELETE].setEnabled(true);
-            actions[TGUIAction.ACT_SUPPR].setEnabled(true);
-            actions[TGUIAction.ACT_UP].setEnabled(true);
-            actions[TGUIAction.ACT_DOWN].setEnabled(true);
-            actions[TGUIAction.ACT_LEFT].setEnabled(true);
-            actions[TGUIAction.ACT_RIGHT].setEnabled(true);
+            actions[TGUIAction.ACT_DELETE].setEnabled(false);
+            actions[TGUIAction.ACT_SUPPR].setEnabled(false);
+            actions[TGUIAction.ACT_UP].setEnabled(false);
+            actions[TGUIAction.ACT_DOWN].setEnabled(false);
+            actions[TGUIAction.ACT_LEFT].setEnabled(false);
+            actions[TGUIAction.ACT_RIGHT].setEnabled(false);
             
             if (mainBar != null) {
                 mainBar.activateSearch(true);
@@ -407,6 +407,14 @@ public class ModeManager {
         case MainGUI.NC_OK:
             actions[TGUIAction.ACT_NC].setEnabled(true);
             break;
+        case MainGUI.COMPONENT_SELECTED:
+        	actions[TGUIAction.ACT_UP].setEnabled(true);
+            actions[TGUIAction.ACT_DOWN].setEnabled(true);
+            actions[TGUIAction.ACT_LEFT].setEnabled(true);
+            actions[TGUIAction.ACT_RIGHT].setEnabled(true);
+            actions[TGUIAction.ACT_DELETE].setEnabled(true);
+            actions[TGUIAction.ACT_SUPPR].setEnabled(true);
+            break;
         default:
             TraceManager.addDev("DEFAULT");
             mgui.activeActions(false);
diff --git a/src/main/java/ui/TDiagramMouseManager.java b/src/main/java/ui/TDiagramMouseManager.java
index 43df70d235337a2e78fd2a0cffb0912c30fa6404..4541f29fff0099e747650c7c64b54fd734879a5a 100755
--- a/src/main/java/ui/TDiagramMouseManager.java
+++ b/src/main/java/ui/TDiagramMouseManager.java
@@ -480,14 +480,16 @@ public class TDiagramMouseManager extends MouseAdapter {//implements MouseListen
              }
  	    }
  	    if (tgc != null) { //A component has been clicked
-     	   lastSelectedComponent = tgc;
-     	   tdp.setSelect(true);
-     	   tgc.singleClick(tdp.getGUI().getFrame(), x, y);       	   
+ 	        tdp.getGUI().setMode(MainGUI.COMPONENT_SELECTED);
+     	    lastSelectedComponent = tgc;
+     	    tdp.setSelect(true);
+     	    tgc.singleClick(tdp.getGUI().getFrame(), x, y);       	   
         }
         else {
-     	   tdp.setSelect(false);
-     	   lastSelectedComponent = null;
-     	   tdp.componentPointed = null;
+        	tdp.getGUI().setMode(MainGUI.OPENED);
+     	    tdp.setSelect(false);
+     	    lastSelectedComponent = null;
+     	    tdp.componentPointed = null;
         }
         tdp.getGUI().changeMade(tdp, TDiagramPanel.CHANGE_VALUE_COMPONENT);
 	    tdp.repaint();