diff -r f432d3884b30 Python/import.c --- a/Python/import.c Mon Apr 09 21:31:06 2012 +0200 +++ b/Python/import.c Tue Apr 10 01:26:04 2012 +0200 @@ -3310,10 +3310,13 @@ import_submodule(PyObject *mod, PyObject else: mod.__name__ + "." + subname == fullname */ - if ((m = PyDict_GetItem(modules, fullname)) != NULL) { + m = PyDict_GetItemWithError(modules, fullname); + if (m != NULL) { Py_INCREF(m); return m; } + else if (PyErr_Occurred()) + return NULL; if (mod == Py_None) path_list = NULL;