diff --git a/user/super/com/google/gwt/emul/java/util/ArrayList.java b/user/super/com/google/gwt/emul/java/util/ArrayList.java
index aba65df..0180427 100644
--- a/user/super/com/google/gwt/emul/java/util/ArrayList.java
+++ b/user/super/com/google/gwt/emul/java/util/ArrayList.java
@@ -27,7 +27,6 @@
 import java.util.function.Consumer;
 import java.util.function.Predicate;
 import java.util.function.UnaryOperator;
-
 import javaemul.internal.ArrayHelper;
 
 /**
@@ -78,7 +77,7 @@
 
   @Override
   public boolean add(E o) {
-    array[array.length] = o;
+    ArrayHelper.push(array, o);
     return true;
   }
 
diff --git a/user/super/com/google/gwt/emul/javaemul/internal/ArrayHelper.java b/user/super/com/google/gwt/emul/javaemul/internal/ArrayHelper.java
index ed3ba73..8f40c34 100644
--- a/user/super/com/google/gwt/emul/javaemul/internal/ArrayHelper.java
+++ b/user/super/com/google/gwt/emul/javaemul/internal/ArrayHelper.java
@@ -53,15 +53,19 @@
     asNativeArray(array).length = length;
   }
 
-  public static void removeFrom(Object array, int index, int deleteCount) {
+  public static void push(Object[] array, Object o) {
+    asNativeArray(array).push(o);
+  }
+
+  public static void removeFrom(Object[] array, int index, int deleteCount) {
     asNativeArray(array).splice(index, deleteCount);
   }
 
-  public static void insertTo(Object array, int index, Object value) {
+  public static void insertTo(Object[] array, int index, Object value) {
     asNativeArray(array).splice(index, 0, value);
   }
 
-  public static void insertTo(Object array, int index, Object[] values) {
+  public static void insertTo(Object[] array, int index, Object[] values) {
     copy(values, 0, array, index, values.length, false);
   }
 
@@ -122,7 +126,7 @@
 
     NativeArray(int length) {}
 
-    native Object concat(Object arrayToAdd);
+    native void push(Object item);
 
     native Object[] slice(int fromIndex, int toIndex);
 
