diff --git a/build.gradle b/build.gradle
index b59e78174099df6be2934bad69296d754abf358a..4a3549575f489cf610567d629d02c502422f66a4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3,7 +3,7 @@ apply plugin: 'eclipse'
 apply plugin: 'maven'
 
 
-project.version = '3.2.7-SNAPSHOT'
+project.version = '3.2.8'
 project.group = 'de.stups'
 
 repositories {
diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt
index 407382717a356c6c6045b656f0f90b10d04dc1c4..e0908c0285386fe1b12e8f3cef6540b705ba7d18 100644
--- a/src/main/resources/org/sablecc/sablecc/lexer.txt
+++ b/src/main/resources/org/sablecc/sablecc/lexer.txt
@@ -46,9 +46,14 @@ public class Lexer implements ITokenListContainer
     private final StringBuffer text = new StringBuffer();
     
 	private List<IToken> tokenList;
+    private final Queue<IToken> nextList = new LinkedBlockingQueue<IToken>();
 
 	private IToken tok;
 
+    public Queue<IToken> getNextList() {
+        return nextList;
+    }
+
 	public List<IToken> getTokenList() {
 		return tokenList;
 	}
@@ -74,6 +79,7 @@ public class Lexer implements ITokenListContainer
        filter();
        if (token != null) {
 	          getTokenList().add(token); 
+              nextList.add(token);
 	   }
     }
 
@@ -92,7 +98,7 @@ public class Lexer implements ITokenListContainer
             filterWrap();
         }
 
-        return this.token;
+        return (Token) nextList.peek();
     }
 
     public Token next() throws LexerException, IOException
@@ -103,7 +109,7 @@ public class Lexer implements ITokenListContainer
             filterWrap();
         }
 
-        Token result = this.token;
+        Token result = (Token) nextList.poll();
         this.setToken(null);
         return result;
     }