diff --git a/Objects/bufferobject.c b/Objects/bufferobject.c
index 690f56b..c0e3c80 100644
--- a/Objects/bufferobject.c
+++ b/Objects/bufferobject.c
@@ -138,7 +138,7 @@
 				"size must be zero or positive");
 		return NULL;
 	}
-	/* PyObject_New is inlined */
+	/* Inline PyObject_New */
 	o = PyObject_MALLOC(sizeof(*b) + size);
 	if ( o == NULL )
 		return PyErr_NoMemory();
diff --git a/Objects/complexobject.c b/Objects/complexobject.c
index ba1e3cc..bb28354 100644
--- a/Objects/complexobject.c
+++ b/Objects/complexobject.c
@@ -199,7 +199,7 @@
 {
 	register PyComplexObject *op;
 
-	/* PyObject_New is inlined */
+	/* Inline PyObject_New */
 	op = (PyComplexObject *) PyObject_MALLOC(sizeof(PyComplexObject));
 	if (op == NULL)
 		return PyErr_NoMemory();
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index 2787a0a..36e861e 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -64,7 +64,7 @@
 		if ((free_list = fill_free_list()) == NULL)
 			return NULL;
 	}
-	/* PyObject_New is inlined */
+	/* Inline PyObject_New */
 	op = free_list;
 	free_list = (PyFloatObject *)op->ob_type;
 	PyObject_INIT(op, &PyFloat_Type);
diff --git a/Objects/intobject.c b/Objects/intobject.c
index 2cda031..1b852c2 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -113,7 +113,7 @@
 		if ((free_list = fill_free_list()) == NULL)
 			return NULL;
 	}
-	/* PyObject_New is inlined */
+	/* Inline PyObject_New */
 	v = free_list;
 	free_list = (PyIntObject *)v->ob_type;
 	PyObject_INIT(v, &PyInt_Type);
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 2626d3c..7d3881e 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -62,7 +62,7 @@
 		return (PyObject *)op;
 	}
 
-	/* PyObject_NewVar is inlined */
+	/* Inline PyObject_NewVar */
 	op = (PyStringObject *)
 		PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
 	if (op == NULL)
@@ -118,7 +118,7 @@
 		return (PyObject *)op;
 	}
 
-	/* PyObject_NewVar is inlined */
+	/* Inline PyObject_NewVar */
 	op = (PyStringObject *)
 		PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
 	if (op == NULL)
@@ -878,7 +878,7 @@
 		return (PyObject *)a;
 	}
 	size = a->ob_size + b->ob_size;
-	/* PyObject_NewVar is inlined */
+	/* Inline PyObject_NewVar */
 	op = (PyStringObject *)
 		PyObject_MALLOC(sizeof(PyStringObject) + size * sizeof(char));
 	if (op == NULL)
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 678aeb1..4c52de3 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -48,7 +48,7 @@
 #ifdef COUNT_ALLOCS
 		fast_tuple_allocs++;
 #endif
-		/* PyObject_InitVar is inlined */
+		/* Inline PyObject_InitVar */
 #ifdef Py_TRACE_REFS
 		op->ob_size = size;
 		op->ob_type = &PyTuple_Type;
diff --git a/PC/_winreg.c b/PC/_winreg.c
index 0648802..07190ec 100644
--- a/PC/_winreg.c
+++ b/PC/_winreg.c
@@ -606,7 +606,7 @@
 {
 	PyHKEYObject *op;
 
-	/* PyObject_New is inlined */
+	/* Inline PyObject_New */
 	op = (PyHKEYObject *) PyObject_MALLOC(sizeof(PyHKEYObject));
 	if (op == NULL)
 		return PyErr_NoMemory();
