#2196 hasattr now allows SystemExit and KeyboardInterrupt to propagate
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 02a2faa..0234b6b 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -877,9 +877,13 @@
 	}
 	v = PyObject_GetAttr(v, name);
 	if (v == NULL) {
-		PyErr_Clear();
-		Py_INCREF(Py_False);
-		return Py_False;
+		if (!PyErr_ExceptionMatches(PyExc_Exception))
+			return NULL;
+		else {
+			PyErr_Clear();
+			Py_INCREF(Py_False);
+			return Py_False;
+		}
 	}
 	Py_DECREF(v);
 	Py_INCREF(Py_True);