diff --git a/ChangeLog b/ChangeLog
index 98028402d5..eed814dcce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-04  David Schleef  <ds@schleef.org>
+
+	* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt): Fix a caps
+	memleak.
+
 2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>
 
 	* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
diff --git a/gst/wavparse/gstwavparse.c b/gst/wavparse/gstwavparse.c
index 98364ba24f..31f439ebf5 100644
--- a/gst/wavparse/gstwavparse.c
+++ b/gst/wavparse/gstwavparse.c
@@ -640,8 +640,10 @@ gst_wavparse_parse_fmt (GstWavParse *wavparse, guint size)
       return;
     }
 
-    if (caps)
-        gst_pad_set_explicit_caps (wavparse->srcpad, caps);
+    if (caps) {
+      gst_pad_set_explicit_caps (wavparse->srcpad, caps);
+      gst_caps_free (caps);
+    }
 
     GST_DEBUG ("frequency %d, channels %d",
 							 wavparse->rate, wavparse->channels);