diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index de31ebf..44cf5f1 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -45,6 +45,7 @@
 {
 	PyHeapTypeObject* et;
 	char *tp_name;
+        PyObject *tmp;
 
 	if (!(type->tp_flags & Py_TPFLAGS_HEAPTYPE)) {
 		PyErr_Format(PyExc_TypeError,
@@ -62,14 +63,22 @@
 			     type->tp_name, Py_Type(value)->tp_name);
 		return -1;
 	}
-	tp_name = PyUnicode_AsString(value);
-	if (tp_name == NULL)
+
+        /* Check absence of null characters */
+        tmp = PyUnicode_FromStringAndSize("\0", 1);
+        if (tmp == NULL)
 		return -1;
-	if (strlen(tp_name) != (size_t)PyUnicode_GET_SIZE(value)) {
+	if (PyUnicode_Contains(value, tmp) != 0) {
+		Py_DECREF(tmp);
 		PyErr_Format(PyExc_ValueError,
 			     "__name__ must not contain null bytes");
 		return -1;
 	}
+	Py_DECREF(tmp);
+
+	tp_name = PyUnicode_AsString(value);
+	if (tp_name == NULL)
+		return -1;
 
 	et = (PyHeapTypeObject*)type;
 
diff --git a/Parser/asdl_c.py b/Parser/asdl_c.py
index 2366b1a..798650d 100755
--- a/Parser/asdl_c.py
+++ b/Parser/asdl_c.py
@@ -415,7 +415,7 @@
         }
         PyTuple_SET_ITEM(fnames, i, field);
     }
-    result = PyObject_CallFunction((PyObject*)&PyType_Type, "s(O){sOss}",
+    result = PyObject_CallFunction((PyObject*)&PyType_Type, "U(O){sOss}",
                     type, base, "_fields", fnames, "__module__", "_ast");
     Py_DECREF(fnames);
     return (PyTypeObject*)result;
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index d89b610..0ccf489 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -410,7 +410,7 @@
         }
         PyTuple_SET_ITEM(fnames, i, field);
     }
-    result = PyObject_CallFunction((PyObject*)&PyType_Type, "s(O){sOss}",
+    result = PyObject_CallFunction((PyObject*)&PyType_Type, "U(O){sOss}",
                     type, base, "_fields", fnames, "__module__", "_ast");
     Py_DECREF(fnames);
     return (PyTypeObject*)result;
diff --git a/Python/errors.c b/Python/errors.c
index e543506..b45dad4 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -608,7 +608,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);
