diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index d17da2a..79ed87d 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -452,7 +452,7 @@
 {
 	PyObject *readline = NULL, *stream = NULL, *io = NULL;
 
-	io = PyImport_ImportModule("io");
+	io = PyImport_ImportModuleNoBlock("io");
 	if (io == NULL)
 		goto cleanup;
 
diff --git a/Python/ast.c b/Python/ast.c
index 3169de9..97486c5 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -56,7 +56,7 @@
        identifier; if so, normalize to NFKC. */
     for (; *u; u++) {
 	if (*u >= 128) {
-	    PyObject *m = PyImport_ImportModule("unicodedata");
+	    PyObject *m = PyImport_ImportModuleNoBlock("unicodedata");
 	    PyObject *id2;
 	    if (!m)
 		return NULL;
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 98285b9..05ae915 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -281,7 +281,7 @@
 builtin_filter(PyObject *self, PyObject *args)
 {
 	PyObject *itertools, *ifilter, *result;
-	itertools = PyImport_ImportModule("itertools");
+	itertools = PyImport_ImportModuleNoBlock("itertools");
 	if (itertools == NULL)
 		return NULL;
 	ifilter = PyObject_GetAttrString(itertools, "ifilter");
@@ -796,7 +796,7 @@
 builtin_map(PyObject *self, PyObject *args)
 {
 	PyObject *itertools, *imap, *result;
-	itertools = PyImport_ImportModule("itertools");
+	itertools = PyImport_ImportModuleNoBlock("itertools");
 	if (itertools == NULL)
 		return NULL;
 	imap = PyObject_GetAttrString(itertools, "imap");
diff --git a/Python/codecs.c b/Python/codecs.c
index 5a0e488..86941b1 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -850,7 +850,7 @@
 	interp->codec_error_registry == NULL)
 	Py_FatalError("can't initialize codec registry");
 
-    mod = PyImport_ImportModuleLevel("encodings", NULL, NULL, NULL, 0);
+    mod = PyImport_ImportModuleNoBlock("encodings");
     if (mod == NULL) {
 	if (PyErr_ExceptionMatches(PyExc_ImportError)) {
 	    /* Ignore ImportErrors... this is done so that
