diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c
index 34bc78d122a7767a1df4733ca56a04560b9efe4e..1dd79f3478875164565c7ac7d40c4da8a979e63e 100644
--- a/libavformat/flvdec.c
+++ b/libavformat/flvdec.c
@@ -324,6 +324,7 @@ static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
     if(i == s->nb_streams){
         av_log(NULL, AV_LOG_ERROR, "invalid stream\n");
         st= create_stream(s, is_audio);
+        s->ctx_flags &= ~AVFMTCTX_NOHEADER;
     }
 //    av_log(NULL, AV_LOG_DEBUG, "%d %X %d \n", is_audio, flags, st->discard);
     if(  (st->discard >= AVDISCARD_NONKEY && !((flags & FLV_VIDEO_FRAMETYPE_MASK) == FLV_FRAME_KEY ||         is_audio))