diff --git a/Include/classobject.h b/Include/classobject.h
index b071e98..1328c27 100644
--- a/Include/classobject.h
+++ b/Include/classobject.h
@@ -51,6 +51,18 @@
 PyAPI_FUNC(PyObject *) PyMethod_Self(PyObject *);
 PyAPI_FUNC(PyObject *) PyMethod_Class(PyObject *);
 
+/* Look up attribute with name (a string) on instance object pinst, using
+ * only the instance and base class dicts.  If a descriptor is found in
+ * a class dict, the descriptor is returned without calling it.
+ * Returns NULL if nothing found, else a borrowed reference to the
+ * value associated with name in the dict in which name was found.
+ * The point of this routine is that it never calls arbitrary Python
+ * code, so is always "safe":  all it does is dict lookups.  The function
+ * can't fail, never sets an exceptionm, and NULL is not an error (it just
+ * means "not found").
+ */
+PyAPI_FUNC(PyObject *)_PyInstance_Lookup(PyObject *pinst, PyObject *name);
+
 /* Macros for direct access to these values. Type checks are *not*
    done, so use with care. */
 #define PyMethod_GET_FUNCTION(meth) \
diff --git a/Objects/classobject.c b/Objects/classobject.c
index 80aabbf..89a3673 100644
--- a/Objects/classobject.c
+++ b/Objects/classobject.c
@@ -759,6 +759,27 @@
 	return res;
 }
 
+/* See classobject.h comments:  this only does dict lookups, and is always
+ * safe to call.
+ */
+PyObject *
+_PyInstance_Lookup(PyObject *pinst, PyObject *name)
+{
+	PyObject *v;
+	PyClassObject *class;
+	PyInstanceObject *inst;	/* pinst cast to the right type */
+
+	assert(PyInstance_Check(pinst));
+	inst = (PyInstanceObject *)pinst;
+
+	assert(PyString_Check(name));
+
+ 	v = PyDict_GetItem(inst->in_dict, name);
+	if (v == NULL)
+		v = class_lookup(inst->in_class, name, &class);
+	return v;
+}
+
 static int
 instance_setattr1(PyInstanceObject *inst, PyObject *name, PyObject *v)
 {
