diff --git a/ext/kate/gstkatetiger.c b/ext/kate/gstkatetiger.c
index 81ac6f7555..2916460c8b 100644
--- a/ext/kate/gstkatetiger.c
+++ b/ext/kate/gstkatetiger.c
@@ -858,9 +858,13 @@ gst_kate_tiger_seek (GstKateTiger * tiger, GstPad * pad, GstEvent * event)
   gst_event_parse_seek (event, &rate, &format, &flags, &cur_type, &cur,
       &stop_type, &stop);
 
+  if (flags & GST_SEEK_FLAG_FLUSH)
+    gst_pad_push_event (tiger->srcpad, gst_event_new_flush_start ());
+
   GST_KATE_TIGER_MUTEX_LOCK (tiger);
   tiger->video_flushing = TRUE;
   gst_kate_util_decoder_base_set_flushing (&tiger->decoder, TRUE);
+  g_cond_broadcast (tiger->cond);
   GST_KATE_TIGER_MUTEX_UNLOCK (tiger);
 
   if (format == GST_FORMAT_TIME) {