diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java
index 280defd9cf18483e57ae4e8c16fc72e40bdfb0e0..6610247258416913ea7f1c4fc6b90d186dcc5e4d 100644
--- a/src/main/java/org/sablecc/sablecc/parser/Parser.java
+++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java
@@ -6,7 +6,6 @@ import java.io.DataInputStream;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -216,8 +215,7 @@ public class Parser implements IParser
             {
                 case SHIFT:
                 {
-                    List<Object> list = new ArrayList<Object>();
-                    list.add(this.lexer.next());
+                    List<Object> list = Collections.<Object>singletonList(this.lexer.next());
                     push(destination, list);
                 }
                 break;
diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt
index b1e815435563ac795d94fdb0d10e2e6cae750b5e..e436a95587ddf98b7cb6ea92683b66b747a188b3 100644
--- a/src/main/resources/org/sablecc/sablecc/parser.txt
+++ b/src/main/resources/org/sablecc/sablecc/parser.txt
@@ -14,7 +14,6 @@ import java.io.DataInputStream;
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.LinkedList;
@@ -259,8 +258,7 @@ Macro:ParserCommon
             {
                 case SHIFT:
                 {
-                    List<Object> list = new ArrayList<Object>();
-                    list.add(this.lexer.next());
+                    List<Object> list = Collections.<Object>singletonList(this.lexer.next());
                     push(destination, list$1$);
                 }
                 break;