diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 974275e..891be61 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -44,7 +44,6 @@
 type_set_name(PyTypeObject *type, PyObject *value, void *context)
 {
 	PyHeapTypeObject* et;
-	char *name;
 
 	if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE)) {
 		PyErr_Format(PyExc_TypeError,
@@ -56,25 +55,19 @@
 			     "can't delete %s.__name__", type->tp_name);
 		return -1;
 	}
-	if (PyString_Check(value)) {
-		value = PyUnicode_FromStringAndSize(PyString_AS_STRING(value),
-						    PyString_GET_SIZE(value));
+	if (PyUnicode_Check(value)) {
+		value = _PyUnicode_AsDefaultEncodedString(value, NULL);
 		if (value == NULL)
 			return -1;
-		/* XXX Isn't here a refcount leak? */
 	}
-	if (!PyUnicode_Check(value)) {
+	if (!PyString_Check(value)) {
 		PyErr_Format(PyExc_TypeError,
 			     "can only assign string to %s.__name__, not '%s'",
 			     type->tp_name, value->ob_type->tp_name);
 		return -1;
 	}
-
-	name = PyUnicode_AsString(value);
-	if (name == NULL)
-		return -1;
-
-	if (strlen(name) != PyUnicode_GET_SIZE(value)) {
+	if (strlen(PyString_AS_STRING(value))
+	    != (size_t)PyString_GET_SIZE(value)) {
 		PyErr_Format(PyExc_ValueError,
 			     "__name__ must not contain null bytes");
 		return -1;
@@ -87,7 +80,7 @@
 	Py_DECREF(et->ht_name);
 	et->ht_name = value;
 
-	type->tp_name = name;
+	type->tp_name = PyString_AS_STRING(value);
 
 	return 0;
 }
@@ -1665,7 +1658,7 @@
 	}
 
 	/* Check arguments: (name, bases, dict) */
-	if (!PyArg_ParseTupleAndKeywords(args, kwds, "UO!O!:type", kwlist,
+	if (!PyArg_ParseTupleAndKeywords(args, kwds, "SO!O!:type", kwlist,
 					 &name,
 					 &PyTuple_Type, &bases,
 					 &PyDict_Type, &dict))
diff --git a/Python/errors.c b/Python/errors.c
index 0f0b6ed..2a84c8d 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -575,7 +575,7 @@
 			goto failure;
 	}
 	/* Create a real new-style class. */
-	result = PyObject_CallFunction((PyObject *)&PyType_Type, "UOO",
+	result = PyObject_CallFunction((PyObject *)&PyType_Type, "sOO",
 				       dot+1, bases, dict);
   failure:
 	Py_XDECREF(bases);
