diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index f1e3aee..b85762a 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -188,16 +188,24 @@
 tupleprint(PyTupleObject *op, FILE *fp, int flags)
 {
 	Py_ssize_t i;
+	Py_BEGIN_ALLOW_THREADS
 	fprintf(fp, "(");
+	Py_END_ALLOW_THREADS
 	for (i = 0; i < Py_Size(op); i++) {
-		if (i > 0)
+		if (i > 0) {
+			Py_BEGIN_ALLOW_THREADS
 			fprintf(fp, ", ");
+			Py_END_ALLOW_THREADS
+		}
 		if (PyObject_Print(op->ob_item[i], fp, 0) != 0)
 			return -1;
 	}
-	if (Py_Size(op) == 1)
+	i = Py_Size(op);
+	Py_BEGIN_ALLOW_THREADS
+	if (i == 1)
 		fprintf(fp, ",");
 	fprintf(fp, ")");
+	Py_END_ALLOW_THREADS
 	return 0;
 }
 
