diff --git a/Modules/_curses_panel.c b/Modules/_curses_panel.c
index 5eb4cf8..e73d986 100644
--- a/Modules/_curses_panel.c
+++ b/Modules/_curses_panel.c
@@ -472,7 +472,7 @@
     PyDict_SetItemString(d, "error", PyCursesError);
 
     /* Make the version available */
-    v = PyString_FromString(PyCursesVersion);
+    v = PyUnicode_FromString(PyCursesVersion);
     PyDict_SetItemString(d, "version", v);
     PyDict_SetItemString(d, "__version__", v);
     Py_DECREF(v);
diff --git a/Modules/bz2module.c b/Modules/bz2module.c
index c913c3f..65e3ae7 100644
--- a/Modules/bz2module.c
+++ b/Modules/bz2module.c
@@ -2048,7 +2048,7 @@
 	if (m == NULL)
 		return;
 
-	PyModule_AddObject(m, "__author__", PyString_FromString(__author__));
+	PyModule_AddObject(m, "__author__", PyUnicode_FromString(__author__));
 
 	Py_INCREF(&BZ2File_Type);
 	PyModule_AddObject(m, "BZ2File", (PyObject *)&BZ2File_Type);
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 5960730..63fb1f1 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -851,7 +851,7 @@
 
 	if (PyErr_Occurred()) {
 		if (gc_str == NULL)
-			gc_str = PyString_FromString("garbage collection");
+			gc_str = PyUnicode_FromString("garbage collection");
 		PyErr_WriteUnraisable(gc_str);
 		Py_FatalError("unexpected exception during garbage collection");
 	}
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index badc090..fd6c0b7 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -1039,7 +1039,7 @@
     PyModule_AddIntConstant(m, "Z_SYNC_FLUSH", Z_SYNC_FLUSH);
     PyModule_AddIntConstant(m, "Z_FULL_FLUSH", Z_FULL_FLUSH);
 
-    ver = PyString_FromString(ZLIB_VERSION);
+    ver = PyUnicode_FromString(ZLIB_VERSION);
     if (ver != NULL)
 	PyModule_AddObject(m, "ZLIB_VERSION", ver);
 
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 1ae38d5..a483b6c 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -194,7 +194,7 @@
 {
 	register dictobject *mp;
 	if (dummy == NULL) { /* Auto-initialize dummy */
-		dummy = PyString_FromString("<dummy key>");
+		dummy = PyUnicode_FromString("<dummy key>");
 		if (dummy == NULL)
 			return NULL;
 #ifdef SHOW_CONVERSION_COUNTS
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 7e2483e..50d9d9b 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -142,7 +142,7 @@
 	}
 	if (i < 0 || i >= Py_Size(op)) {
 		if (indexerr == NULL)
-			indexerr = PyString_FromString(
+			indexerr = PyUnicode_FromString(
 				"list index out of range");
 		PyErr_SetObject(PyExc_IndexError, indexerr);
 		return NULL;
@@ -362,7 +362,7 @@
 {
 	if (i < 0 || i >= Py_Size(a)) {
 		if (indexerr == NULL)
-			indexerr = PyString_FromString(
+			indexerr = PyUnicode_FromString(
 				"list index out of range");
 		PyErr_SetObject(PyExc_IndexError, indexerr);
 		return NULL;
diff --git a/Objects/setobject.c b/Objects/setobject.c
index 2cc1743..7ff27b1 100644
--- a/Objects/setobject.c
+++ b/Objects/setobject.c
@@ -966,7 +966,7 @@
 	register PySetObject *so = NULL;
 
 	if (dummy == NULL) { /* Auto-initialize dummy */
-		dummy = PyString_FromString("<dummy key>");
+		dummy = PyUnicode_FromString("<dummy key>");
 		if (dummy == NULL)
 			return NULL;
 	}
