diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index 2f656bb..64738f0 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -881,7 +881,7 @@
 
 static PyObject * math_floor(PyObject *self, PyObject *number) {
     static PyObject *floor_str = NULL;
-    PyObject *method;
+    PyObject *method, *result;
 
     method = _PyObject_LookupSpecial(number, "__floor__", &floor_str);
     if (method == NULL) {
@@ -889,7 +889,9 @@
             return NULL;
         return math_1_to_int(number, floor, 0);
     }
-    return PyObject_CallFunctionObjArgs(method, NULL);
+    result = PyObject_CallFunctionObjArgs(method, NULL);
+    Py_DECREF(method);
+    return result;
 }
 
 PyDoc_STRVAR(math_floor_doc,
@@ -1416,7 +1418,7 @@
 math_trunc(PyObject *self, PyObject *number)
 {
     static PyObject *trunc_str = NULL;
-    PyObject *trunc;
+    PyObject *trunc, *result;
 
     if (Py_TYPE(number)->tp_dict == NULL) {
         if (PyType_Ready(Py_TYPE(number)) < 0)
@@ -1431,7 +1433,9 @@
                          Py_TYPE(number)->tp_name);
         return NULL;
     }
-    return PyObject_CallFunctionObjArgs(trunc, NULL);
+    result = PyObject_CallFunctionObjArgs(trunc, NULL);
+    Py_DECREF(trunc);
+    return result;
 }
 
 PyDoc_STRVAR(math_trunc_doc,
