diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index 78a71bf..cd8ddca 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -631,7 +631,7 @@
 static PyObject *
 deque_repr(PyObject *deque)
 {
-	PyObject *aslist, *result, *fmt;  /*, *limit; */
+	PyObject *aslist, *result, *fmt;
 	int i;
 
 	i = Py_ReprEnter(deque);
@@ -656,7 +656,7 @@
 		Py_ReprLeave(deque);
 		return NULL;
 	}
-        result = PyString_Format(fmt, aslist);
+	result = PyString_Format(fmt, aslist);
 	Py_DECREF(fmt);
 	Py_DECREF(aslist);
 	Py_ReprLeave(deque);
@@ -675,7 +675,9 @@
 	if (i != 0) {
 		if (i < 0)
 			return i;
+		Py_BEGIN_ALLOW_THREADS
 		fputs("[...]", fp);
+		Py_END_ALLOW_THREADS
 		return 0;
 	}
 
@@ -683,9 +685,13 @@
 	if (it == NULL)
 		return -1;
 
+	Py_BEGIN_ALLOW_THREADS
 	fputs("deque([", fp);
+	Py_END_ALLOW_THREADS
 	while ((item = PyIter_Next(it)) != NULL) {
+		Py_BEGIN_ALLOW_THREADS
 		fputs(emit, fp);
+		Py_END_ALLOW_THREADS
 		emit = separator;
 		if (PyObject_Print(item, fp, 0) != 0) {
 			Py_DECREF(item);
@@ -700,10 +706,12 @@
 	if (PyErr_Occurred())
 		return -1;
 
+	Py_BEGIN_ALLOW_THREADS
 	if (((dequeobject *)deque)->maxlen == -1)
 		fputs("])", fp);
 	else
-		fprintf(fp, "], maxlen=%d)", ((dequeobject *)deque)->maxlen);        
+		fprintf(fp, "], maxlen=%d)", ((dequeobject *)deque)->maxlen);
+	Py_END_ALLOW_THREADS
 	return 0;
 }
 
@@ -1223,15 +1231,23 @@
 defdict_print(defdictobject *dd, FILE *fp, int flags)
 {
 	int sts;
+	Py_BEGIN_ALLOW_THREADS
 	fprintf(fp, "defaultdict(");
-	if (dd->default_factory == NULL)
+	Py_END_ALLOW_THREADS
+	if (dd->default_factory == NULL) {
+		Py_BEGIN_ALLOW_THREADS
 		fprintf(fp, "None");
-	else {
+		Py_END_ALLOW_THREADS
+	} else {
 		PyObject_Print(dd->default_factory, fp, 0);
 	}
+	Py_BEGIN_ALLOW_THREADS
 	fprintf(fp, ", ");
+	Py_END_ALLOW_THREADS
 	sts = PyDict_Type.tp_print((PyObject *)dd, fp, 0);
+	Py_BEGIN_ALLOW_THREADS
 	fprintf(fp, ")");
+	Py_END_ALLOW_THREADS
 	return sts;
 }
 
