diff --git a/ChangeLog b/ChangeLog
index c66e497250..ddcab1f7e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2004-05-16  Ronald Bultje  <rbultje@ronald.bitfreak.net>
+
+	* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
+	  Don't touch events after not owning them anymore.
+	* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
+	(gst_wavparse_fmt), (gst_wavparse_other),
+	(gst_wavparse_handle_seek), (gst_wavparse_loop),
+	(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
+	(gst_wavparse_srcpad_event):
+	* gst/wavparse/gstwavparse.h:
+	  Add seeking, fix querying.
+
 2004-05-16  Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
 
 	* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_comment):
diff --git a/gst-libs/gst/riff/riff-read.c b/gst-libs/gst/riff/riff-read.c
index 0e441ba8bf..abae803883 100644
--- a/gst-libs/gst/riff/riff-read.c
+++ b/gst-libs/gst/riff/riff-read.c
@@ -299,8 +299,10 @@ gst_riff_read_seek (GstRiffRead * riff, guint64 offset)
       GST_WARNING ("No discontinuity event after seek - seek failed");
       break;
     } else if (GST_EVENT_TYPE (event) != GST_EVENT_DISCONTINUOUS) {
+      GstEventType type = GST_EVENT_TYPE (event);
+
       gst_pad_event_default (riff->sinkpad, event);
-      if (GST_EVENT_TYPE (event) == GST_EVENT_EOS)
+      if (type == GST_EVENT_EOS)
         return NULL;
       event = NULL;
     }