diff --git a/doc/snow.txt b/doc/snow.txt
index 688dbd836f4e0bd4f08e16fbb7478fc3a0fcf35d..ba6a5f46242525af24cab801c03f26d7552e67a4 100644
--- a/doc/snow.txt
+++ b/doc/snow.txt
@@ -56,9 +56,8 @@ header:
         qlogs
     }
     if(!keyframe){
-        if(!always_reset)
-            update_mc                   b   header_state
-        if(always_reset || update_mc){
+        update_mc                       b   header_state
+        if(update_mc){
             for(plane=0; plane<2; plane++){
                 diag_mc                 b   header_state
                 htaps/2-1               u   header_state
diff --git a/libavcodec/snow.c b/libavcodec/snow.c
index 7ccedfabab2a356e38c7de6d594afd858e8d4b22..a52cffcdce0bf87246f2ea83e04ac31bdeaf76d9 100644
--- a/libavcodec/snow.c
+++ b/libavcodec/snow.c
@@ -3574,8 +3574,7 @@ static void encode_header(SnowContext *s){
             update_mc |= p->last_diag_mc != p->diag_mc;
             update_mc |= !!memcmp(p->last_hcoeff, p->hcoeff, sizeof(p->hcoeff));
         }
-        if(!s->always_reset)
-            put_rac(&s->c, s->header_state, update_mc);
+        put_rac(&s->c, s->header_state, update_mc);
         if(update_mc){
             for(plane_index=0; plane_index<2; plane_index++){
                 Plane *p= &s->plane[plane_index];
@@ -3661,7 +3660,7 @@ static int decode_header(SnowContext *s){
     }
 
     if(!s->keyframe){
-        if(s->always_reset || get_rac(&s->c, s->header_state)){
+        if(get_rac(&s->c, s->header_state)){
             for(plane_index=0; plane_index<2; plane_index++){
                 int htaps, i, sum=0, absum=0;
                 Plane *p= &s->plane[plane_index];