diff --git a/src/ui/AvatarRequirementPanelTranslator.java b/src/ui/AvatarRequirementPanelTranslator.java
index 39622b8d6718008e12b72dd7cb3dbff504fc4320..aceb319d0525924888c594ab29c80ee44adc154e 100644
--- a/src/ui/AvatarRequirementPanelTranslator.java
+++ b/src/ui/AvatarRequirementPanelTranslator.java
@@ -86,6 +86,8 @@ public class AvatarRequirementPanelTranslator {
 		makeComponents(tepe, _apdp);
 		makeLinksBetweenComponents(tepe, _apdp);
 		
+		listE.makeTEPEIDs();
+		
 		TraceManager.addDev(tepe.toString());
 		
 		return tepe;
diff --git a/src/ui/ColorManager.java b/src/ui/ColorManager.java
index ad26a92fbb597d0d896a0064c0ea5186a8b20968..9fdfc3f228d7168bc01f7534243cd1dc6688bc36 100755
--- a/src/ui/ColorManager.java
+++ b/src/ui/ColorManager.java
@@ -67,6 +67,7 @@ public class ColorManager {
 	public static final Color CURRENT_COMMAND_TERMINATED = new Color(255, 42, 50, 200);
 	public static final Color CURRENT_COMMAND_UNKNOWN = new Color(107, 97, 97, 200);
 	public static final Color DIPLOID = new Color(163, 5, 253);
+	public static final Color TEPEID = new Color(163, 5, 253);
 	public static final Color AVATARID = new Color(163, 5, 253);
     public static Color SELECTED_0 = Color.blue;
     public static final Color MOVING_0 = Color.magenta;
diff --git a/src/ui/CorrespondanceTGElement.java b/src/ui/CorrespondanceTGElement.java
index 535d30577069e247ade589946e47cde1edd2dabc..5123be49423d040f17d07857ad2dd76f44a6ed91 100755
--- a/src/ui/CorrespondanceTGElement.java
+++ b/src/ui/CorrespondanceTGElement.java
@@ -56,6 +56,7 @@ import translator.*;
 import tmltranslator.*;
 import sddescription.*;
 import ui.cd.*;
+import tepe.*;
 
 public class CorrespondanceTGElement {
     private Vector tg; //tgelement
@@ -472,6 +473,26 @@ public class CorrespondanceTGElement {
 		}
 	}
 	
+	public void makeTEPEIDs() {
+		ArrayList<TGComponent> list = new ArrayList<TGComponent>();
+		Object o0, o1;
+		TEPEComponent te;
+		TGComponent tgc;
+		for (int i=0; i<data.size(); i++) {
+			o0 = data.get(i);
+			if (o0 instanceof TEPEComponent) {
+				o1 = tg.get(i);
+				if ((o1 != null) && !(list.contains(o1))){
+					te = (TEPEComponent)(o0);
+					//System.out.println("Putting DIPLO ID on " + o1 + ": " + de.getID());
+					tgc = (TGComponent)(o1);
+					tgc.setTEPEID(te.getID());
+					list.add(tgc);
+				}
+			}
+		}
+	}
+	
 	public void removeBreakpoint(Point p) {
 		Object o0, o1;
 		TGComponent tgc;
diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java
index 384c1cc79af46f2ce1d386bcfee238516dce44db..4a621463643e79c8e019e2365e45c9fd606abe69 100755
--- a/src/ui/MainGUI.java
+++ b/src/ui/MainGUI.java
@@ -5703,6 +5703,10 @@ public	class MainGUI implements ActionListener, WindowListener, KeyListener {
         setDiploIDs(!TDiagramPanel.DIPLO_ID_ON);
 	}
 	
+	public void toggleTEPEIDs() {
+        setTEPEIDs(!TDiagramPanel.TEPE_ID_ON);
+	}
+	
 	public void toggleDiploAnimate() {
 		setDiploAnimate(!TDiagramPanel.DIPLO_ANIMATE_ON);
 	}
@@ -5743,6 +5747,14 @@ public	class MainGUI implements ActionListener, WindowListener, KeyListener {
 		}
 	}
 	
+	public void setTEPEIDs(boolean b) {
+		TDiagramPanel.TEPE_ID_ON = b;
+		TDiagramPanel tdp = getCurrentTDiagramPanel();
+		if (tdp != null) {
+			tdp.repaint();
+		}
+	}
+	
 	public void setTransationProgression(boolean b) {
 		TDiagramPanel.DIPLO_TRANSACTION_PROGRESSION_ON = b;
 		TDiagramPanel tdp = getCurrentTDiagramPanel();
@@ -6219,6 +6231,8 @@ public	class MainGUI implements ActionListener, WindowListener, KeyListener {
             toggleAttributes();
         } else if (command.equals(actions[TGUIAction.ACT_TOGGLE_DIPLO_ID].getActionCommand())) {
             toggleDiploIDs();
+        } else if (command.equals(actions[TGUIAction.ACT_TOGGLE_TEPE_ID].getActionCommand())) {
+            toggleTEPEIDs();
         } else if (command.equals(actions[TGUIAction.ACT_TOGGLE_AVATAR_ID].getActionCommand())) {
             toggleAVATARIDs();
         } else if (command.equals(actions[TGUIAction.ACT_TOGGLE_GATES].getActionCommand())) {
diff --git a/src/ui/TDiagramPanel.java b/src/ui/TDiagramPanel.java
index 64262bd98a01e17bee131dd6d0eb5911c8db4eca..27097187cef52cdb3f6a3a4c34869b189ecafead 100755
--- a/src/ui/TDiagramPanel.java
+++ b/src/ui/TDiagramPanel.java
@@ -194,6 +194,9 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree {
 	public static boolean DIPLO_ID_ON;
 	public static boolean DIPLO_TRANSACTION_PROGRESSION_ON;
 	
+	// TEPE ID -> for simulation purpose
+	public static boolean TEPE_ID_ON;
+	
 	// AVATAR ID -> for simulation purpose
 	public static boolean AVATAR_ID_ON;
 	public static boolean AVATAR_ANIMATE_ON;
diff --git a/src/ui/TGComponent.java b/src/ui/TGComponent.java
index e5f44554834ab82f8c5943447e0f81c3b316b0ef..5ce1a27a8a98aa97af98c2a11e9bf4524ae358d1 100755
--- a/src/ui/TGComponent.java
+++ b/src/ui/TGComponent.java
@@ -112,6 +112,9 @@ public abstract class TGComponent implements CDElement, GenericTree {
 	private boolean AVATAR_running = false;
 	private boolean AVATAR_met = false;
 	
+	// TEPE ID
+	private int TEPEID = -1;
+	
     
     // Zone of drawing -> relative to father if applicable
     protected int minX;
@@ -476,6 +479,13 @@ public abstract class TGComponent implements CDElement, GenericTree {
 		}
 	}
 	
+	public void drawTEPEID(Graphics g) {
+		if (getTEPEID() != -1) {
+			g.setColor(ColorManager.TEPEID);
+			g.drawString(""+getTEPEID(), x+width, y+height + 5);
+		}
+	}
+	
 	public void drawAVATARID(Graphics g) {
 		if (getAVATARID() != -1) {
 			g.setColor(ColorManager.AVATARID);
@@ -808,6 +818,8 @@ public abstract class TGComponent implements CDElement, GenericTree {
 			drawDiploID(g);
 		} else if (tdp.AVATAR_ID_ON) {
 			drawAVATARID(g);
+		} else if (tdp.TEPE_ID_ON) {
+			drawTEPEID(g);
 		} 
 		
 		if (tdp.AVATAR_ANIMATE_ON) {
@@ -2424,6 +2436,15 @@ public abstract class TGComponent implements CDElement, GenericTree {
 		return DIPLOID;
 	}
 	
+	// TEPE ID
+	public void setTEPEID(int _ID) {
+		TEPEID = _ID;
+	}
+	
+	public int getTEPEID() {
+		return TEPEID;
+	}
+	
 	// AVATAR ID
 	public void setAVATARID(int _ID) {
 		AVATARID = _ID;
diff --git a/src/ui/TGUIAction.java b/src/ui/TGUIAction.java
index e0ef6b7109147688ef5589e038bf1280298662b4..0050c9f38793f083be9521987a8d5d0a7a910377 100755
--- a/src/ui/TGUIAction.java
+++ b/src/ui/TGUIAction.java
@@ -443,6 +443,7 @@ public class TGUIAction extends AbstractAction {
 	
 	public static final int ACT_TOGGLE_DIPLO_ID = 264;
 	public static final int ACT_TOGGLE_AVATAR_ID = 334;
+	public static final int ACT_TOGGLE_TEPE_ID = 336;
 	
 	public static final int ACT_TOGGLE_INTERNAL_COMMENT = 227;
    
@@ -455,7 +456,7 @@ public class TGUIAction extends AbstractAction {
     //Action for the help button created by Solange
     public static final int PRUEBA_1 = 205;
 
-    public static final int NB_ACTION = 336;
+    public static final int NB_ACTION = 337;
 
     private  static final TAction [] actions = new TAction[NB_ACTION];
     
@@ -544,6 +545,7 @@ public class TGUIAction extends AbstractAction {
         
 		actions[ACT_TOGGLE_DIPLO_ID] = new TAction("toggle-tml-id", "Show / hide DIPLODOCUS IDs", IconManager.imgic138, IconManager.imgic138, "Show / hide DIPLODOCUS IDs", "Show / hide DIPLODOCUS IDs", '0');
         actions[ACT_TOGGLE_AVATAR_ID] = new TAction("toggle-avatar-id", "Show / hide AVATAR IDs", IconManager.imgic138, IconManager.imgic138, "Show / hide AVATAR IDs", "Show / hide AVATAR IDs", '0');
+        actions[ACT_TOGGLE_TEPE_ID] = new TAction("toggle-tepe-id", "Show / hide TEPE IDs", IconManager.imgic138, IconManager.imgic138, "Show / hide TEPE IDs", "Show / hide TEPE IDs", '0');
         
 		actions[ACT_TOGGLE_INTERNAL_COMMENT] = new TAction("toggle-internal-comment-command", "Show / hide (OFF -> partial -> Full)", IconManager.imgic138, IconManager.imgic138, "Show / hide internal comments (OFF -> partial -> Full)", "Show / hide internal comments (OFF -> partial -> Full)", '0');
         
diff --git a/src/ui/avatarpd/AvatarPDToolBar.java b/src/ui/avatarpd/AvatarPDToolBar.java
index 3d26c1276b53f48498fdc7e8e69303bbce8923ae..a0c03535bed76e0b8d476b5fffda6a003adaa7bf 100644
--- a/src/ui/avatarpd/AvatarPDToolBar.java
+++ b/src/ui/avatarpd/AvatarPDToolBar.java
@@ -86,6 +86,8 @@ public class AvatarPDToolBar extends TToolBar {
 		mgui.actions[TGUIAction.APD_SIGNAL_CONNECTOR].setEnabled(b);
 		mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR].setEnabled(b);
 		mgui.actions[TGUIAction.APD_COMPOSITION_CONNECTOR].setEnabled(b);
+		
+		mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID].setEnabled(b);
         
     }
     
@@ -159,6 +161,11 @@ public class AvatarPDToolBar extends TToolBar {
 		button = this.add(mgui.actions[TGUIAction.APD_PROPERTY_CONNECTOR]);
         button.addMouseListener(mgui.mouseHandler);
 		
+		this.addSeparator();
+		
+		button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_TEPE_ID]);
+        button.addMouseListener(mgui.mouseHandler);
+		
 		/*this.addSeparator();
 		this.addSeparator();