diff --git a/test/097-duplicate-method/src/Main.java b/test/097-duplicate-method/src/Main.java
new file mode 100644
index 0000000..bb3d36a
--- /dev/null
+++ b/test/097-duplicate-method/src/Main.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/**
+ * Certain class files generated by smali can have encoded methods with an
+ * identical method_idx. In these cases, the behavior should be to only use the
+ * first one, and to ignore all following duplicates.
+ */
+public class Main {
+    public static void main(String args[]) {
+        if (Test.run() != null) {
+          System.out.println("Success!");
+        }
+    }
+}
diff --git a/test/097-duplicate-method/src/Test.j b/test/097-duplicate-method/src/Test.j
new file mode 100644
index 0000000..f96a9a3
--- /dev/null
+++ b/test/097-duplicate-method/src/Test.j
@@ -0,0 +1,29 @@
+; Copyright (C) 2012 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.
+
+.class Test
+.super java/lang/Object
+
+.method public static run()Ljava/lang/Object;
+    .limit stack 2
+    new java/lang/Object
+    dup
+    invokespecial java/lang/Object/<init>()V
+    areturn
+.end method
+
+.method public static run()Ljava/lang/Object;
+    aconst_null
+    areturn
+.end method
diff --git a/test/097-duplicate-method/src/Test.java b/test/097-duplicate-method/src/Test.java
new file mode 100644
index 0000000..7dd61e6
--- /dev/null
+++ b/test/097-duplicate-method/src/Test.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/**
+ * This class and method will be overwritten by smali to return non-null.
+ */
+public class Test {
+    public static Object run() {
+        return null;
+    }
+}
