diff -r c91e7f707562 Python/ceval.c --- a/Python/ceval.c Tue Jul 09 00:49:03 2013 +0200 +++ b/Python/ceval.c Tue Jul 09 01:57:45 2013 +0200 @@ -3821,8 +3821,12 @@ call_exc_trace(Py_tracefunc func, PyObje int err; PyErr_Fetch(&type, &value, &traceback); if (value == NULL) { + Py_INCREF(Py_None); value = Py_None; - Py_INCREF(value); + } + if (traceback == NULL) { + Py_INCREF(Py_None); + traceback = Py_None; } PyErr_NormalizeException(&type, &value, &traceback); arg = PyTuple_Pack(3, type, value, traceback);