Index: plugins/elements/gstqueue.c
===================================================================
RCS file: /cvs/gstreamer/gstreamer/plugins/elements/gstqueue.c,v
retrieving revision 1.186
diff -u -r1.186 gstqueue.c
--- plugins/elements/gstqueue.c	19 May 2006 13:46:10 -0000	1.186
+++ plugins/elements/gstqueue.c	5 Oct 2006 09:52:58 -0000
@@ -636,6 +636,10 @@
     GST_QUEUE_MUTEX_UNLOCK (queue);
     g_signal_emit (G_OBJECT (queue), gst_queue_signals[SIGNAL_OVERRUN], 0);
     GST_QUEUE_MUTEX_LOCK_CHECK (queue, out_flushing);
+    if (!gst_queue_is_filled(queue)) {
+      /* Queue was emptied while we sent out the signal, so no need to drop */
+      break;
+    }
 
     /* how are we going to make space for this buffer? */
     switch (queue->leaky) {
