diff --git a/ffmpeg.c b/ffmpeg.c
index fb644adc1825d0df041a6101ee4402d669c485d1..38297cc7f499e349696aa04bf50ab21dd21bd901 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -703,6 +703,7 @@ static int read_ffserver_streams(AVFormatContext *s, const char *filename)
         return err;
     /* copy stream format */
     s->nb_streams = 0;
+    s->streams = av_mallocz(sizeof(*s->streams) * ic->nb_streams);
     for(i=0;i<ic->nb_streams;i++) {
         AVStream *st;
         AVCodec *codec;
diff --git a/ffserver.c b/ffserver.c
index 81c9fcf448a6b5d7e7b3257db8d9ee7c2aa79b5a..517cb6f3f35074bc55c0965c836c2e13d04c6338 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -2229,6 +2229,7 @@ static int http_prepare_data(HTTPContext *c)
         av_metadata_set2(&c->fmt_ctx.metadata, "copyright", c->stream->copyright, 0);
         av_metadata_set2(&c->fmt_ctx.metadata, "title"    , c->stream->title    , 0);
 
+        c->fmt_ctx.streams = av_mallocz(sizeof(*c->fmt_ctx.streams) * c->stream->nb_streams);
         for(i=0;i<c->stream->nb_streams;i++) {
             AVStream *st;
             AVStream *src;