diff -r d0b4be7d2134 Python/import.c --- a/Python/import.c Fri Jan 29 00:55:37 2016 +0200 +++ b/Python/import.c Fri Jan 29 11:07:53 2016 +0200 @@ -658,11 +658,16 @@ static void remove_module(const char *name) { PyObject *modules = PyImport_GetModuleDict(); - if (PyDict_GetItemString(modules, name) == NULL) + int recursion_limit = Py_GetRecursionLimit(); + Py_SetRecursionLimit(recursion_limit + 50); + if (PyDict_GetItemString(modules, name) == NULL) { + Py_SetRecursionLimit(recursion_limit); return; + } if (PyDict_DelItemString(modules, name) < 0) Py_FatalError("import: deleting existing key in" "sys.modules failed"); + Py_SetRecursionLimit(recursion_limit); } /* Execute a code object in a module and return the module object