diff --git a/Lib/abc.py b/Lib/abc.py
index 6857029..1ce38a8 100644
--- a/Lib/abc.py
+++ b/Lib/abc.py
@@ -188,7 +188,7 @@
                 cls._abc_negative_cache.add(subclass)
             return ok
         # Check if it's a direct subclass
-        if cls in subclass.__mro__:
+        if cls in getattr(subclass, '__mro__', ()):
             cls._abc_cache.add(subclass)
             return True
         # Check if it's a subclass of a registered class (recursive)
diff --git a/Lib/test/test_abc.py b/Lib/test/test_abc.py
index c760356..272f61d 100644
--- a/Lib/test/test_abc.py
+++ b/Lib/test/test_abc.py
@@ -8,7 +8,6 @@
 from test import test_support
 
 import abc
-__metaclass__ = type
 
 
 class TestABC(unittest.TestCase):
@@ -59,10 +58,18 @@
             self.assertEqual(F.__abstractmethods__, set(["bar"]))
             self.assertRaises(TypeError, F)  # because bar is abstract now
 
+    def test_subclass_oldstyle_class(self):
+        class A:
+            __metaclass__ = abc.ABCMeta
+        class OldstyleClass:
+            pass
+        self.assertFalse(issubclass(OldstyleClass, A))
+        self.assertFalse(issubclass(A, OldstyleClass))
+
     def test_registration_basics(self):
         class A:
             __metaclass__ = abc.ABCMeta
-        class B:
+        class B(object):
             pass
         b = B()
         self.assertEqual(issubclass(B, A), False)
@@ -95,7 +102,7 @@
         class A1(A):
             pass
         self.assertRaises(RuntimeError, A1.register, A)  # cycles not allowed
-        class B:
+        class B(object):
             pass
         A1.register(B)  # ok
         A1.register(B)  # should pass silently
@@ -136,7 +143,7 @@
     def test_all_new_methods_are_called(self):
         class A:
             __metaclass__ = abc.ABCMeta
-        class B:
+        class B(object):
             counter = 0
             def __new__(cls):
                 B.counter += 1
