diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 8fd1103409..7f29afaf1a 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -2756,10 +2756,16 @@ gst_base_parse_process_streamheader (GstBaseParse * parse)
         GST_OBJECT_CAST (parse), gst_buffer_ref (buffer));
   }
 
+  gst_caps_unref (caps);
+
   return ret;
 
 notfound:
   {
+    if (caps) {
+      gst_caps_unref (caps);
+    }
+
     GST_DEBUG_OBJECT (parse, "No streamheader on caps");
     return GST_FLOW_OK;
   }