diff --git a/Doc/c-api/import.rst b/Doc/c-api/import.rst
index fdbbb12..ac4cde5 100644
--- a/Doc/c-api/import.rst
+++ b/Doc/c-api/import.rst
@@ -200,7 +200,7 @@
    tricks with this to provide a dynamically created collection of frozen modules.
 
 
-.. cfunction:: int PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void))
+.. cfunction:: int PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void))
 
    Add a single module to the existing table of built-in modules.  This is a
    convenience wrapper around :cfunc:`PyImport_ExtendInittab`, returning ``-1`` if
diff --git a/Include/import.h b/Include/import.h
index e950d4b..65657b4 100644
--- a/Include/import.h
+++ b/Include/import.h
@@ -43,7 +43,7 @@
 PyAPI_DATA(PyTypeObject) PyNullImporter_Type;
 PyAPI_DATA(struct _inittab *) PyImport_Inittab;
 
-PyAPI_FUNC(int) PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void));
+PyAPI_FUNC(int) PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void));
 PyAPI_FUNC(int) PyImport_ExtendInittab(struct _inittab *newtab);
 
 struct _frozen {
diff --git a/Python/import.c b/Python/import.c
index 3a3c9f2..bccb971 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -3488,13 +3488,13 @@
 /* Shorthand to add a single entry given a name and a function */
 
 int
-PyImport_AppendInittab(char *name, PyObject* (*initfunc)(void))
+PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void))
 {
 	struct _inittab newtab[2];
 
 	memset(newtab, '\0', sizeof newtab);
 
-	newtab[0].name = name;
+	newtab[0].name = (char *)name;
 	newtab[0].initfunc = initfunc;
 
 	return PyImport_ExtendInittab(newtab);
