diff --git a/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-plugins-base_UPDATE/gst-libs/gst/rtsp/gstrtspconnection.c
index c78da0b..c276f86 100644
--- a/gst-plugins-base/gst-libs/gst/rtsp/gstrtspconnection.c
+++ b/gst-plugins-base_UPDATE/gst-libs/gst/rtsp/gstrtspconnection.c
@@ -3142,6 +3142,8 @@ gst_rtsp_source_dispatch (GSource * source, GSourceFunc callback G_GNUC_UNUSED,
       g_mutex_unlock (watch->mutex);
       if (res == GST_RTSP_EINTR)
         goto write_blocked;
+      if (res == GST_RTSP_ESYS)
+        goto client_dispatched;
       else if (G_LIKELY (res == GST_RTSP_OK)) {
         if (watch->funcs.message_sent)
           watch->funcs.message_sent (watch, watch->write_id, watch->user_data);
@@ -3170,6 +3172,8 @@ gst_rtsp_source_dispatch (GSource * source, GSourceFunc callback G_GNUC_UNUSED,
 
 write_blocked:
   return TRUE;
+client_dispatched:
+  return TRUE;
 
   /* ERRORS */
 eof:

