diff --git a/Objects/codeobject.c b/Objects/codeobject.c
index 0a7c141..7bd292a 100644
--- a/Objects/codeobject.c
+++ b/Objects/codeobject.c
@@ -65,6 +65,13 @@
 		PyErr_BadInternalCall();
 		return NULL;
 	}
+	if (PyString_Check(name)) {
+		name = PyUnicode_FromString(PyString_AS_STRING(name));
+		if (name == NULL)
+			return NULL;
+	} else {
+		Py_INCREF(name);
+	}
 	intern_strings(names);
 	intern_strings(varnames);
 	intern_strings(freevars);
@@ -106,6 +113,7 @@
 		co->co_lnotab = lnotab;
                 co->co_zombieframe = NULL;
 	}
+	Py_DECREF(name);
 	return co;
 }
 
@@ -288,17 +296,14 @@
 {
 	int lineno = -1;
 	char *filename = "???";
-	char *name = "???";
 
 	if (co->co_firstlineno != 0)
 		lineno = co->co_firstlineno;
 	if (co->co_filename && PyString_Check(co->co_filename))
 		filename = PyString_AS_STRING(co->co_filename);
-	if (co->co_name && PyString_Check(co->co_name))
-		name = PyString_AS_STRING(co->co_name);
 	return PyUnicode_FromFormat(
-	                "<code object %.100s at %p, file \"%.300s\", line %d>",
-	                name, co, filename, lineno);
+	                "<code object %.100U at %p, file \"%.300s\", line %d>",
+	                co->co_name, co, filename, lineno);
 }
 
 static PyObject *
