diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index e52426197810807af65386fd37df3f6ea4b70c2f..31fc21417342a58232e858bacedc3c2c61bd8e32 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1274,6 +1274,8 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
             av_log(matroska->ctx, AV_LOG_INFO,
                    "Unknown/unsupported CodecID %s.\n", track->codec_id);
 
+        if (track->time_scale < 0.01)
+            track->time_scale = 1.0;
         av_set_pts_info(st, 64, matroska->time_scale*track->time_scale, 1000*1000*1000); /* 64 bit pts in ns */
 
         st->codec->codec_id = codec_id;