Index: trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/CondenseSimilarTasksRule.java
===================================================================
--- trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/CondenseSimilarTasksRule.java	(revision 1972)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/CondenseSimilarTasksRule.java	(revision 1973)
@@ -1292,4 +1292,5 @@
                 
                 // perform the actual replacement and throw away the instance
+                taskBuilder.setMarkedTask(optionalInstance.getOptional(), replacement.getTask());
                 taskBuilder.setChild(optionalInstance, replacement);
                 TaskPath path = new TaskPath();
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 1972)
+++ trunk/autoquest-core-tasktrees/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/utils/SimilarTasks.java	(revision 1973)
@@ -1155,16 +1155,14 @@
         for (TaskPath path : paths) {
             for (int i = commonPath.size(); i < path.size(); i++) {
-                if (!(path.getLast() instanceof IEventTask)) {
-                    // check, if the parent task covers things fully inside the delta
-                    int[] indexes = traversal.getIndexesRootedBy(path.subPath(0, i + 1));
-                    
-                    if ((chunk.getPosition() <= indexes[0]) && // starts in the delta
-                        (indexes[1] < (chunk.getPosition() + chunk.size()))) // ends in the delta
-                    {
-                        // System.out.println("found path to parent task lieing completely in the " +
-                        //                    "delta: " + path.subPath(0, i + 1));
-                        result.add(path.subPath(0, i + 1));
-                        break;
-                    }
+                // check, if the parent task covers things fully inside the delta
+                int[] indexes = traversal.getIndexesRootedBy(path.subPath(0, i + 1));
+                
+                if ((chunk.getPosition() <= indexes[0]) && // starts in the delta
+                    (indexes[1] < (chunk.getPosition() + chunk.size()))) // ends in the delta
+                {
+                    // System.out.println("found path to parent task lieing completely in the " +
+                    //                    "delta: " + path.subPath(0, i + 1));
+                    result.add(path.subPath(0, i + 1));
+                    break;
                 }
             }
