Issue 3747: Fix caching in ABCMeta.__subclasscheck__ (R: Georg Brandl)
diff --git a/Lib/abc.py b/Lib/abc.py
index 5e90bf5..618a32c 100644
--- a/Lib/abc.py
+++ b/Lib/abc.py
@@ -159,12 +159,12 @@
         # Check if it's a subclass of a registered class (recursive)
         for rcls in cls._abc_registry:
             if issubclass(subclass, rcls):
-                cls._abc_registry.add(subclass)
+                cls._abc_cache.add(subclass)
                 return True
         # Check if it's a subclass of a subclass (recursive)
         for scls in cls.__subclasses__():
             if issubclass(subclass, scls):
-                cls._abc_registry.add(subclass)
+                cls._abc_cache.add(subclass)
                 return True
         # No dice; update negative cache
         cls._abc_negative_cache.add(subclass)