Index: Objects/abstract.c =================================================================== --- Objects/abstract.c (revision 61567) +++ Objects/abstract.c (working copy) @@ -2909,8 +2909,12 @@ static PyObject *name = NULL; PyObject *t, *v, *tb; PyObject *checker; + + /* Quick test for an exact match */ + if (Py_TYPE(inst) == cls && !PyTuple_Check(cls)) + return 1; + PyErr_Fetch(&t, &v, &tb); - if (name == NULL) { name = PyString_InternFromString("__instancecheck__"); if (name == NULL)