Index: Python/ceval.c =================================================================== --- Python/ceval.c (revision 61449) +++ Python/ceval.c (working copy) @@ -3136,6 +3136,7 @@ } if (PyExceptionClass_Check(type)) + /* Normalize to raise , */ PyErr_NormalizeException(&type, &value, &tb); else if (PyExceptionInstance_Check(type)) { @@ -3145,13 +3146,10 @@ "instance exception may not have a separate value"); goto raise_error; } - else { - /* Normalize to raise , */ - Py_DECREF(value); - value = type; - type = PyExceptionInstance_Class(type); - Py_INCREF(type); - } + Py_DECREF(value); + value = type; + type = PyExceptionInstance_Class(type); + Py_INCREF(type); } else { /* Not something you can raise. You get an exception