diff --git a/src/class_linker.cc b/src/class_linker.cc
index ca8a532..6fc6a3d 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -3603,11 +3603,11 @@
 }
 
 AbstractMethod* ClassLinker::ResolveMethod(const DexFile& dex_file,
-                                   uint32_t method_idx,
-                                   DexCache* dex_cache,
-                                   ClassLoader* class_loader,
-                                   const AbstractMethod* referrer,
-                                   InvokeType type) {
+                                           uint32_t method_idx,
+                                           DexCache* dex_cache,
+                                           ClassLoader* class_loader,
+                                           const AbstractMethod* referrer,
+                                           InvokeType type) {
   DCHECK(dex_cache != NULL);
   // Check for hit in the dex cache.
   AbstractMethod* resolved = dex_cache->GetResolvedMethod(method_idx);
@@ -3630,6 +3630,7 @@
       break;
     case kInterface:
       resolved = klass->FindInterfaceMethod(dex_cache, method_idx);
+      DCHECK(resolved == NULL || resolved->GetDeclaringClass()->IsInterface());
       break;
     case kSuper:  // Fall-through.
     case kVirtual:
@@ -3649,6 +3650,7 @@
         break;
       case kInterface:
         resolved = klass->FindInterfaceMethod(name, signature);
+        DCHECK(resolved == NULL || resolved->GetDeclaringClass()->IsInterface());
         break;
       case kSuper:  // Fall-through.
       case kVirtual:
diff --git a/src/object.cc b/src/object.cc
index df42f8c..8565c38 100644
--- a/src/object.cc
+++ b/src/object.cc
@@ -1098,7 +1098,7 @@
   return NULL;
 }
 
-AbstractMethod* Class::FindInterfaceMethod(const StringPiece& name,  const StringPiece& signature) const {
+AbstractMethod* Class::FindInterfaceMethod(const StringPiece& name, const StringPiece& signature) const {
   // Check the current class before checking the interfaces.
   AbstractMethod* method = FindDeclaredVirtualMethod(name, signature);
   if (method != NULL) {
@@ -1108,7 +1108,7 @@
   int32_t iftable_count = GetIfTableCount();
   IfTable* iftable = GetIfTable();
   for (int32_t i = 0; i < iftable_count; i++) {
-    method = iftable->GetInterface(i)->FindVirtualMethod(name, signature);
+    method = iftable->GetInterface(i)->FindDeclaredVirtualMethod(name, signature);
     if (method != NULL) {
       return method;
     }
@@ -1126,7 +1126,7 @@
   int32_t iftable_count = GetIfTableCount();
   IfTable* iftable = GetIfTable();
   for (int32_t i = 0; i < iftable_count; i++) {
-    method = iftable->GetInterface(i)->FindVirtualMethod(dex_cache, dex_method_idx);
+    method = iftable->GetInterface(i)->FindDeclaredVirtualMethod(dex_cache, dex_method_idx);
     if (method != NULL) {
       return method;
     }
diff --git a/src/object.h b/src/object.h
index ecd086b..0eea8c3 100644
--- a/src/object.h
+++ b/src/object.h
@@ -986,7 +986,7 @@
   ObjectArray<StaticStorageBase>* dex_cache_initialized_static_storage_;
 
   // short cuts to declaring_class_->dex_cache_ member for fast compiled code access
-  ObjectArray<Class>* dex_cache_resolved_methods_;
+  ObjectArray<AbstractMethod>* dex_cache_resolved_methods_;
 
   // short cuts to declaring_class_->dex_cache_ member for fast compiled code access
   ObjectArray<Class>* dex_cache_resolved_types_;
diff --git a/test/022-interface/classes/Iface1.class b/test/022-interface/classes/Iface1.class
index d11704c..c9e64ad 100644
--- a/test/022-interface/classes/Iface1.class
+++ b/test/022-interface/classes/Iface1.class
Binary files differ
diff --git a/test/022-interface/classes/ImplA.class b/test/022-interface/classes/ImplA.class
index de175bf..88af792 100644
--- a/test/022-interface/classes/ImplA.class
+++ b/test/022-interface/classes/ImplA.class
Binary files differ
diff --git a/test/022-interface/classes/ImplB.class b/test/022-interface/classes/ImplB.class
index 951bebd..f0de5e2 100644
--- a/test/022-interface/classes/ImplB.class
+++ b/test/022-interface/classes/ImplB.class
Binary files differ
diff --git a/test/022-interface/classes/ImplBSub.class b/test/022-interface/classes/ImplBSub.class
index 1c1dcfd..193e42b 100644
--- a/test/022-interface/classes/ImplBSub.class
+++ b/test/022-interface/classes/ImplBSub.class
Binary files differ
diff --git a/test/022-interface/classes/Main$SubInterface.class b/test/022-interface/classes/Main$SubInterface.class
new file mode 100644
index 0000000..97e9ffd
--- /dev/null
+++ b/test/022-interface/classes/Main$SubInterface.class
Binary files differ
diff --git a/test/022-interface/classes/Main$SubInterfaceImpl.class b/test/022-interface/classes/Main$SubInterfaceImpl.class
new file mode 100644
index 0000000..2fd44e3
--- /dev/null
+++ b/test/022-interface/classes/Main$SubInterfaceImpl.class
Binary files differ
diff --git a/test/022-interface/classes/Main.class b/test/022-interface/classes/Main.class
index d9f22f7..e12b3c9 100644
--- a/test/022-interface/classes/Main.class
+++ b/test/022-interface/classes/Main.class
Binary files differ
diff --git a/test/022-interface/classes/ObjectOverridingInterface.class b/test/022-interface/classes/ObjectOverridingInterface.class
index e9e8db5..2bf784b 100644
--- a/test/022-interface/classes/ObjectOverridingInterface.class
+++ b/test/022-interface/classes/ObjectOverridingInterface.class
Binary files differ
diff --git a/test/022-interface/classes/SubObjectOverridingInterface.class b/test/022-interface/classes/SubObjectOverridingInterface.class
new file mode 100644
index 0000000..d5f38aa
--- /dev/null
+++ b/test/022-interface/classes/SubObjectOverridingInterface.class
Binary files differ
diff --git a/test/022-interface/src/Main.java b/test/022-interface/src/Main.java
index 3c3c21a..9010c98 100644
--- a/test/022-interface/src/Main.java
+++ b/test/022-interface/src/Main.java
@@ -67,10 +67,31 @@
         };
     doObjectOverrideTests(o);
   }
+
+  private static interface SubInterface extends Cloneable, SubObjectOverridingInterface {
+  }
+
+  private static class SubInterfaceImpl implements SubInterface {
+    public int length() {
+      return 0;
+    }
+    public char charAt(int i) {
+      return '!';
+    }
+    public CharSequence subSequence(int s, int e) {
+      return "";
+    }
+  }
+
+  static String subObjectOverrideTests(SubInterface i) {
+    return i.toString();
+  }
+
   static void doObjectOverrideTests(ObjectOverridingInterface o) {
     check(o.equals(null));
     check(o.hashCode() == 0xC001D00D);
     check(o.toString().equals("Mallet's Mallet"));
+    check(subObjectOverrideTests(new SubInterfaceImpl()) != null);
     System.out.println("objectOverrideTests: SUCCESS");
   }
 }
diff --git a/test/022-interface/src/ObjectOverridingInterface.java b/test/022-interface/src/ObjectOverridingInterface.java
index a44cdf5..a9e0abd 100644
--- a/test/022-interface/src/ObjectOverridingInterface.java
+++ b/test/022-interface/src/ObjectOverridingInterface.java
@@ -20,4 +20,5 @@
 public interface ObjectOverridingInterface extends CharSequence {
   public boolean equals(Object o);
   public int hashCode();
+  public String toString();
 }
diff --git a/test/022-interface/src/SubObjectOverridingInterface.java b/test/022-interface/src/SubObjectOverridingInterface.java
new file mode 100644
index 0000000..7babdcd
--- /dev/null
+++ b/test/022-interface/src/SubObjectOverridingInterface.java
@@ -0,0 +1,18 @@
+/*
+ * 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.
+ */
+
+public interface SubObjectOverridingInterface extends ObjectOverridingInterface {
+}
