diff --git a/Objects/sliceobject.c b/Objects/sliceobject.c
index 92464abf7ce304c9faa842a2b1ec4f5ce410b754..2f5c045f36e1f37e50b2bf5f31aa5d0ba92c5bdc 100644
--- a/Objects/sliceobject.c
+++ b/Objects/sliceobject.c
@@ -347,9 +347,13 @@ slice_richcompare(PyObject *v, PyObject *w, int op)
     }
 
     t1 = PyTuple_New(3);
+    if (t1 == NULL)
+        return NULL;
     t2 = PyTuple_New(3);
-    if (t1 == NULL || t2 == NULL)
+    if (t2 == NULL) {
+        Py_DECREF(t1);
         return NULL;
+    }
 
     PyTuple_SET_ITEM(t1, 0, ((PySliceObject *)v)->start);
     PyTuple_SET_ITEM(t1, 1, ((PySliceObject *)v)->stop);