diff -r 5b90da280515 Modules/_curses_panel.c --- a/Modules/_curses_panel.c Sat Jun 15 23:24:11 2013 -0400 +++ b/Modules/_curses_panel.c Sun Jun 16 18:00:37 2013 +0300 @@ -323,12 +323,13 @@ PyCursesPanel_set_panel_userptr(PyCursesPanelObject *self, PyObject *obj) { PyObject *oldobj; + int rc; PyCursesInitialised; + Py_INCREF(obj); oldobj = (PyObject *) panel_userptr(self->pan); + rc = set_panel_userptr(self->pan, (void*)obj); Py_XDECREF(oldobj); - Py_INCREF(obj); - return PyCursesCheckERR(set_panel_userptr(self->pan, (void*)obj), - "set_panel_userptr"); + return PyCursesCheckERR(rc, "set_panel_userptr"); } static PyObject *