diff --git a/test/120-hashcode/expected.txt b/test/120-hashcode/expected.txt
new file mode 100644
index 0000000..619c561
--- /dev/null
+++ b/test/120-hashcode/expected.txt
@@ -0,0 +1 @@
+Done.
diff --git a/test/120-hashcode/info.txt b/test/120-hashcode/info.txt
new file mode 100644
index 0000000..80f131d
--- /dev/null
+++ b/test/120-hashcode/info.txt
@@ -0,0 +1 @@
+Check that object hashCode and System.identityHashCode never cause the hash to change.
\ No newline at end of file
diff --git a/test/120-hashcode/src/Main.java b/test/120-hashcode/src/Main.java
new file mode 100644
index 0000000..d2435ce
--- /dev/null
+++ b/test/120-hashcode/src/Main.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+public class Main {
+    public static void main(String[] args) {
+        Object o = new Object();
+        // Generate a hashcode and put it in the lock word.
+        int hashOrig = o.hashCode();
+        int hashInflated = 0;
+        int hashSystemOrig = System.identityHashCode(o);
+        int hashSystemInflated = 0;
+        // Inflate the monitor to move the hash from the lock word to the Monitor.
+        synchronized (o) {
+            hashInflated = o.hashCode();
+            hashSystemInflated = System.identityHashCode(o);
+        }
+        // Make sure that all the hashes agree.
+        if (hashOrig != hashInflated || hashOrig != hashSystemOrig ||
+            hashSystemOrig != hashSystemInflated) {
+            System.err.println("hash codes dont match: " + hashOrig + " " + hashInflated + " " +
+            hashSystemOrig + " " + hashSystemInflated);
+        }
+        System.out.println("Done.");
+    }
+}
+
+
