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 1f424a0..0f386b9 100644
--- a/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java
+++ b/user/super/com/google/gwt/emul/java/util/IdentityHashMap.java
@@ -17,8 +17,6 @@
 
 import java.io.Serializable;
 
-import javaemul.internal.HashCodes;
-
 /**
  * Map using reference equality on keys. <a
  * href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/IdentityHashMap.html">[Sun
@@ -102,6 +100,6 @@
 
   @Override
   int getHashCode(Object key) {
-    return HashCodes.getObjectIdentityHashCode(key);
+    return System.identityHashCode(key);
   }
 }
diff --git a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
index 2d1f544..3cf9476 100644
--- a/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
+++ b/user/test/com/google/gwt/emultest/java/util/IdentityHashMapTest.java
@@ -16,9 +16,6 @@
 package com.google.gwt.emultest.java.util;
 
 import com.google.gwt.testing.TestUtils;
-
-import org.apache.commons.collections.TestMap;
-
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.IdentityHashMap;
@@ -27,6 +24,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
+import org.apache.commons.collections.TestMap;
 
 /**
  * Tests <code>IdentityHashMap</code>.
@@ -736,6 +734,16 @@
     assertEquals(VALUE_VAL, val);
   }
 
+  public void testUnboxedValues() {
+    IdentityHashMap map = new IdentityHashMap();
+    map.put(true, null);
+    map.put(false, null);
+    map.put(true, null);
+    assertEquals(2, map.size());
+    assertTrue(map.containsKey(true));
+    assertTrue(map.containsKey(false));
+  }
+
   @Override
   protected Map makeConfirmedMap() {
     return new IdentityHashMap();
