diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 5d8b08ce0c26229da2454f51540b9290bd757e90..fb58e1fc70e4a0f1b478bbc6dab4851ca5925be9 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -1412,7 +1412,7 @@ int ff_parse_mpeg2_descriptor(AVFormatContext *fc, AVStream *st, int stream_type
                 break;
             }
         }
-        if (i) {
+        if (i && language[0]) {
             language[i - 1] = 0;
             av_dict_set(&st->metadata, "language", language, 0);
         }