diff --git a/src/main/java/ui/interactivesimulation/SimulationTransaction.java b/src/main/java/ui/interactivesimulation/SimulationTransaction.java
index 9ba656a07fe01376092ab70c4fef0c27281c7e7f..3c1e47cde33a149e1e6d7be6355e699fd25f61f9 100755
--- a/src/main/java/ui/interactivesimulation/SimulationTransaction.java
+++ b/src/main/java/ui/interactivesimulation/SimulationTransaction.java
@@ -64,6 +64,7 @@ public class SimulationTransaction  {
     public String channelName;
 	public String id;
 	public long uniqueID = -1;
+	public int index = 0;
 
 	public SimulationTransaction() {
     }
diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java
index 264b7feb0679b5b7b314987433fd317d424f6c50..510c078cc1c19419a827cc0cf58ff2ef9d636102 100644
--- a/src/main/java/ui/window/JDialogCPUNode.java
+++ b/src/main/java/ui/window/JDialogCPUNode.java
@@ -630,6 +630,21 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
                 }
             }
             String commandName="";
+            TreeSet<Integer> tree = new TreeSet<>();
+            for(int j = 0; j < tranList.size(); j++) {
+                tree.add(Integer.valueOf(tranList.get(j).startTime));
+            }
+            Integer[] arr = new Integer[tree.size()];
+            tree.toArray(arr);
+            for (int t = 0; t < tranList.size(); t ++){
+                for (int k = 0; k < arr.length; k++){
+                    if(tranList.get(t).startTime.equals(String.valueOf(arr[k]))){
+                        tranList.get(t).index = k;
+                        break;
+                    }
+                }
+            }
+
             for (String s:tasks){
                 i++;
                 g.drawString(s.split("__")[1],0, i*50+50);
@@ -666,7 +681,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener  {
                     else {
                         continue;
                     }
-                    int start = 30*tranList.indexOf(tran)+70;
+                    int start = 30*tran.index+70;
                     g.fillRect(start, i*50+40, 30, 20);
                     g.setColor(Color.black);
                     g.drawRect(start, i*50+40, 30, 20);