diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 8ad4f0f7de09f565c7a58f3194c14cd359ef17da..35245abef10ae60362a411fad3d12a626eebd3fa 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -3676,7 +3676,7 @@ static int vc1_decode_p_mb(VC1Context *v)
                     vc1_mc_4mv_chroma(v, 0);
                 v->mb_type[0][s->block_index[i]] = is_intra[i];
                 if (!coded_inter)
-                    coded_inter = !is_intra[i] & is_coded[i];
+                    coded_inter = !is_intra[i] && is_coded[i];
             }
             // if there are no coded blocks then don't do anything more
             dst_idx = 0;