diff -up Python-2.5.1/Python/ceval.c.orig Python-2.5.1/Python/ceval.c --- Python-2.5.1/Python/ceval.c.orig 2008-04-16 17:12:08.000000000 -0400 +++ Python-2.5.1/Python/ceval.c 2008-04-16 17:14:21.000000000 -0400 @@ -2679,7 +2679,10 @@ PyEval_EvalCodeEx(PyCodeObject *co, PyOb PyObject *keyword = kws[2*i]; PyObject *value = kws[2*i + 1]; int j; - if (keyword == NULL || !PyString_Check(keyword)) { + if (keyword == NULL || + !(PyString_Check(keyword) || + PyUnicode_Check(keyword))) { + PyErr_Format(PyExc_TypeError, "%.200s() keywords must be strings", PyString_AsString(co->co_name));