diff --git a/gst/playback/gstplaybin2.c b/gst/playback/gstplaybin2.c
index 4785dc5..8891b3a 100644
--- a/gst/playback/gstplaybin2.c
+++ b/gst/playback/gstplaybin2.c
@@ -2506,6 +2506,15 @@ pad_added_cb (GstElement * decodebin, GstPad * pad, GstSourceGroup * group)
       gst_caps_unref (media_caps);
     }
   }
+
+  /* Do not connect pads in the text selector if it was disabled by
+   * playsink flags */
+  if (!(gst_play_sink_get_flags (playbin->playsink) & GST_PLAY_FLAG_TEXT)) {
+    if (select->type == GST_PLAY_SINK_TYPE_TEXT) {
+      select = NULL;
+    }
+  }
+
   /* no selector found for the media type, don't bother linking it to a
    * selector. This will leave the pad unlinked and thus ignored. */
   if (select == NULL)
