diff --git a/gst-libs/gst/pbutils/descriptions.c b/gst-libs/gst/pbutils/descriptions.c
index cd979fb2eb..230dcbded1 100644
--- a/gst-libs/gst/pbutils/descriptions.c
+++ b/gst-libs/gst/pbutils/descriptions.c
@@ -840,7 +840,7 @@ gst_pb_utils_get_decoder_description (const GstCaps * caps)
 
   tmp = copy_and_clean_caps (caps);
 
-  g_return_val_if_fail (has_single_media_type (tmp), NULL);
+  g_return_val_if_fail (gst_caps_is_fixed (tmp), NULL);
 
   /* special-case RTP caps */
   if (caps_are_rtp_caps (tmp, "video", &str)) {
@@ -891,7 +891,7 @@ gst_pb_utils_get_encoder_description (const GstCaps * caps)
   g_return_val_if_fail (caps != NULL, NULL);
   g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
   tmp = copy_and_clean_caps (caps);
-  g_return_val_if_fail (has_single_media_type (tmp), NULL);
+  g_return_val_if_fail (gst_caps_is_fixed (tmp), NULL);
 
   /* special-case RTP caps */
   if (caps_are_rtp_caps (tmp, "video", &str)) {
@@ -1022,7 +1022,7 @@ gst_pb_utils_get_codec_description (const GstCaps * caps)
   g_return_val_if_fail (caps != NULL, NULL);
   g_return_val_if_fail (GST_IS_CAPS (caps), NULL);
   tmp = copy_and_clean_caps (caps);
-  g_return_val_if_fail (has_single_media_type (tmp), NULL);
+  g_return_val_if_fail (gst_caps_is_fixed (tmp), NULL);
 
   info = find_format_info (tmp);
 
diff --git a/gst-libs/gst/pbutils/missing-plugins.c b/gst-libs/gst/pbutils/missing-plugins.c
index 6ff16d5fb9..7d7f2f4f98 100644
--- a/gst-libs/gst/pbutils/missing-plugins.c
+++ b/gst-libs/gst/pbutils/missing-plugins.c
@@ -156,25 +156,6 @@ copy_and_clean_caps (const GstCaps * caps)
   return ret;
 }
 
-gboolean
-has_single_media_type (const GstCaps * caps)
-{
-  guint n, ns;
-  const char *name0, *namen;
-
-  g_return_val_if_fail (GST_IS_CAPS (caps), FALSE);
-
-  name0 = gst_structure_get_name (gst_caps_get_structure (caps, 0));
-  ns = gst_caps_get_size (caps);
-  for (n = 1; n < ns; ++n) {
-    namen = gst_structure_get_name (gst_caps_get_structure (caps, n));
-    if (strcmp (name0, namen)) {
-      return FALSE;
-    }
-  }
-  return TRUE;
-}
-
 /**
  * gst_missing_uri_source_message_new:
  * @element: the #GstElement posting the message
@@ -338,7 +319,7 @@ gst_missing_encoder_message_new (GstElement * element,
   g_return_val_if_fail (GST_IS_CAPS (encode_caps), NULL);
   g_return_val_if_fail (!gst_caps_is_any (encode_caps), NULL);
   g_return_val_if_fail (!gst_caps_is_empty (encode_caps), NULL);
-  g_return_val_if_fail (has_single_media_type (encode_caps), NULL);
+  g_return_val_if_fail (gst_caps_is_fixed (encode_caps), NULL);
 
   description = gst_pb_utils_get_encoder_description (encode_caps);
   caps = copy_and_clean_caps (encode_caps);
diff --git a/gst-libs/gst/pbutils/pbutils-private.h b/gst-libs/gst/pbutils/pbutils-private.h
index bb475a337b..82fd22c890 100644
--- a/gst-libs/gst/pbutils/pbutils-private.h
+++ b/gst-libs/gst/pbutils/pbutils-private.h
@@ -107,4 +107,3 @@ struct _GstDiscovererInfo {
 /* missing-plugins.c */
 
 GstCaps *copy_and_clean_caps (const GstCaps * caps);
-gboolean has_single_media_type (const GstCaps * caps);