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