diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index d4a70d4..ce413e6 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -58,7 +58,7 @@
 	PyObject *raw, *ref;
 	Py_ssize_t i, n;
 
-	if(!PyType_HasFeature(type, Py_TPFLAGS_VALID_VERSION_TAG))
+	if (!PyType_HasFeature(type, Py_TPFLAGS_VALID_VERSION_TAG))
 		return;
 
 	raw = type->tp_subclasses;
@@ -94,7 +94,7 @@
 	Py_ssize_t i, n;
 	int clear = 0;
 
-	if(!PyType_HasFeature(type, Py_TPFLAGS_HAVE_VERSION_TAG))
+	if (!PyType_HasFeature(type, Py_TPFLAGS_HAVE_VERSION_TAG))
 		return;
 
 	n = PyTuple_GET_SIZE(bases);
@@ -1388,8 +1388,8 @@
 	PyObject *bases, *result;
 	PyObject *to_merge, *bases_aslist;
 
-	if(type->tp_dict == NULL) {
-		if(PyType_Ready(type) < 0)
+	if (type->tp_dict == NULL) {
+		if (PyType_Ready(type) < 0)
 			return NULL;
 	}
 
@@ -2321,7 +2321,7 @@
 	unsigned int h;
 
 	if (MCACHE_CACHEABLE_NAME(name) &&
-	    PyType_HasFeature(type,Py_TPFLAGS_VALID_VERSION_TAG)) {
+	    PyType_HasFeature(type, Py_TPFLAGS_VALID_VERSION_TAG)) {
 		/* fast path */
 		h = MCACHE_HASH_METHOD(type, name);
 		if (method_cache[h].version == type->tp_version_tag &&
