diff --git a/py/objtype.c b/py/objtype.c
index 2e1c56416e..ed45922748 100644
--- a/py/objtype.c
+++ b/py/objtype.c
@@ -735,6 +735,9 @@ STATIC void super_load_attr(mp_obj_t self_in, qstr attr, mp_obj_t *dest) {
     for (uint i = 0; i < len; i++) {
         assert(MP_OBJ_IS_TYPE(items[i], &mp_type_type));
         mp_obj_class_lookup(self->obj, (mp_obj_type_t*)items[i], attr, 0, dest);
+        if (dest[0] != MP_OBJ_NULL) {
+            return;
+        }
     }
 }