Index: /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java
===================================================================
--- /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 94)
+++ /trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 95)
@@ -151,4 +151,5 @@
 				List<Event<?>> subSeq = new LinkedList<Event<?>>();
 				subSeq.add(Event.STARTEVENT);
+				sequenceSet.add(subSeq);
 			} else {
 				for( Event<?> event : getEvents() ) {
@@ -161,5 +162,5 @@
 		}
 		Set<? extends Event<?>> events = getEvents();
-		Set<List<? extends Event<?>>> seqsShorter = generateSequences(length-1);
+		Set<List<? extends Event<?>>> seqsShorter = generateSequences(length-1, fromStart);
 		for( Event<?> event : events ) {
 			for( List<? extends Event<?>> seqShorter : seqsShorter ) {
@@ -178,12 +179,9 @@
 	public Set<List<? extends Event<?>>> generateValidSequences(int length) {
 		// check for min-length implicitly done by generateSequences
-		Set<List<? extends Event<?>>> validSequences = generateSequences(length, true);
-		for( List<? extends Event<?>> sequence : validSequences ) {
-			if( sequence.size()!=length ) {
-				validSequences.remove(sequence);
-			} else {
-				if( !Event.ENDEVENT.equals(sequence.get(sequence.size()-1)) ) {
-					validSequences.remove(sequence);
-				}
+		Set<List<? extends Event<?>>> allSequences = generateSequences(length, true);
+		Set<List<? extends Event<?>>> validSequences = new LinkedHashSet<List<? extends Event<?>>>();
+		for( List<? extends Event<?>> sequence : allSequences ) {
+			if( sequence.size()==length && Event.ENDEVENT.equals(sequence.get(sequence.size()-1)) ) {
+				validSequences.add(sequence);
 			}
 		}
