diff --git a/user/super/com/google/gwt/emul/java/util/HashMap.java b/user/super/com/google/gwt/emul/java/util/HashMap.java
index 3657ab7..c82d548 100644
--- a/user/super/com/google/gwt/emul/java/util/HashMap.java
+++ b/user/super/com/google/gwt/emul/java/util/HashMap.java
@@ -32,16 +32,11 @@
   }
 
   public HashMap(int ignored) {
-    // This implementation of HashMap has no need of initial capacities.
-    this(ignored, 0);
+    super(ignored);
   }
 
   public HashMap(int ignored, float alsoIgnored) {
-    // This implementation of HashMap has no need of load factors or capacities.
-    if (ignored < 0 || alsoIgnored < 0) {
-      throw new IllegalArgumentException(
-          "initial capacity was negative or load factor was non-positive");
-    }
+    super(ignored, alsoIgnored);
   }
 
   public HashMap(Map<? extends K, ? extends V> toBeCopied) {
diff --git a/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java b/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java
index d95b8f7..e1b22fb 100644
--- a/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java
+++ b/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java
@@ -18,7 +18,6 @@
 import com.google.gwt.core.client.impl.Impl;
 
 import java.io.Serializable;
-import java.util.Map.Entry;
 
 /**
  * Map using reference equality on keys. <a
@@ -35,10 +34,7 @@
   }
 
   public IdentityHashMap(int ignored) {
-    // This implementation of HashMap has no need of load factors or capacities.
-    if (ignored < 0) {
-      throw new IllegalArgumentException("initial capacity was negative");
-    }
+    super(ignored);
   }
 
   public IdentityHashMap(Map<? extends K, ? extends V> toBeCopied) {
