Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/MostSimilarTaskDeterminer.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/MostSimilarTaskDeterminer.java	(revision 1889)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/MostSimilarTaskDeterminer.java	(revision 1890)
@@ -118,5 +118,5 @@
 
     /**
-     * filters the given list of similar tasks for those having the smalled diff level, which is
+     * filters the given list of similar tasks for those having the smallest diff level, which is
      * in turn the highest similarity
      */
@@ -140,4 +140,6 @@
                 }
             }
+            
+            Console.println("smallest diff level is " + smallestDiffLevel);
         }
         else {
@@ -197,4 +199,8 @@
                                                  ITaskModel               taskModel)
     {
+        for (SimilarTasks similarTasks : mostSimilarTasksList) {
+            System.out.println(similarTasks.getLeftHandSide() + "  " + similarTasks.getRightHandSide());
+        }
+        
         // check, if several remaining similar tasks refer to the same task
         Map<ITask, LinkedList<SimilarTasks>> referredTasks =
@@ -597,5 +603,7 @@
                                 getSimilarTasksToPrefer(similarTasks1, similarTasks2);
 
-                            if (similarTasks.isInBetweenDifference()) {
+                            if (similarTasks.isInBetweenDifference() ||
+                                (similarTasks.getPatch().getDeltas().size() == 0))
+                            {
                                 if (similarTasks.getDiffLevel() < mostSimilarDiffLevel) {
                                     mostSimilarTasks = similarTasks;
Index: /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/SimilarTasks.java
===================================================================
--- /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/SimilarTasks.java	(revision 1889)
+++ /trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/SimilarTasks.java	(revision 1890)
@@ -1095,4 +1095,5 @@
             if (isInefficientAction(path.getLast())) {
                 diffCount++;
+                allCount++;
             }
             else {
@@ -1104,4 +1105,5 @@
             if (isInefficientAction(path.getLast())) {
                 diffCount++;
+                allCount++;
             }
             else {
@@ -1110,5 +1112,11 @@
         }
         
-        return (100 * diffCount) / allCount;
+        if (allCount == 0) {
+            // this happens, if all actions are inefficient. Return the highest diff level
+            return 100;
+        }
+        else {
+            return (100 * diffCount) / allCount;
+        }
     }
 
