diff --git a/Lib/inspect.py b/Lib/inspect.py
index 97e99aa..2f05829 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -1060,6 +1060,9 @@
 
 _sentinel = object()
 
+def _static_getmro(klass):
+    return type.__dict__['__mro__'].__get__(klass)
+
 def _check_instance(obj, attr):
     instance_dict = {}
     try:
@@ -1070,7 +1073,7 @@
 
 
 def _check_class(klass, attr):
-    for entry in getmro(klass):
+    for entry in _static_getmro(klass):
         try:
             return entry.__dict__[attr]
         except KeyError:
@@ -1110,7 +1113,7 @@
 
     if obj is klass:
         # for types we check the metaclass too
-        for entry in getmro(type(klass)):
+        for entry in _static_getmro(type(klass)):
             try:
                 return entry.__dict__[attr]
             except KeyError:
