diff -r a64a3da996ed Python/ceval.c --- a/Python/ceval.c Sun May 05 11:35:15 2013 -0500 +++ b/Python/ceval.c Tue May 07 08:47:02 2013 -0700 @@ -3517,8 +3517,10 @@ int arg; /* Possibly account for the cell variable being an argument. */ if (co->co_cell2arg != NULL && - (arg = co->co_cell2arg[i]) != CO_CELL_NOT_AN_ARG) + (arg = co->co_cell2arg[i]) != CO_CELL_NOT_AN_ARG) { c = PyCell_New(GETLOCAL(arg)); + SETLOCAL(arg, NULL); + } else c = PyCell_New(NULL); if (c == NULL)