diff --git a/libavcodec/ac3_parser.h b/libavcodec/ac3_parser.h
index 63bea5651238853b65bd7534f5d76670dc4f57ac..1af7fa1407fbc6302eb92c472e0b7e51d6491306 100644
--- a/libavcodec/ac3_parser.h
+++ b/libavcodec/ac3_parser.h
@@ -32,6 +32,7 @@ typedef enum {
     AC3_PARSE_ERROR_SAMPLE_RATE = -3,
     AC3_PARSE_ERROR_FRAME_SIZE  = -4,
     AC3_PARSE_ERROR_FRAME_TYPE  = -5,
+    AC3_PARSE_ERROR_CRC         = -6,
 } AC3ParseError;
 
 /**
diff --git a/libavcodec/ac3dec.c b/libavcodec/ac3dec.c
index 0829784f27cdf0c19ca56d87ba7e95e813afd93d..42903cbc10df557e38e6aa979cd7a2cbe1779c7b 100644
--- a/libavcodec/ac3dec.c
+++ b/libavcodec/ac3dec.c
@@ -1157,12 +1157,12 @@ static int ac3_decode_frame(AVCodecContext * avctx, void *data, int *data_size,
     if(err != AC3_PARSE_ERROR_FRAME_SIZE && avctx->error_resilience >= FF_ER_CAREFUL) {
         if(av_crc(av_crc_get_table(AV_CRC_16_ANSI), 0, &buf[2], s->frame_size-2)) {
             av_log(avctx, AV_LOG_ERROR, "frame CRC mismatch\n");
-            err = 1;
+            err = AC3_PARSE_ERROR_CRC;
         }
     }
 
     /* parse the syncinfo */
-    if(err && err != 1) {
+    if(err && err != AC3_PARSE_ERROR_CRC) {
         switch(err) {
             case AC3_PARSE_ERROR_SYNC:
                 av_log(avctx, AV_LOG_ERROR, "frame sync error\n");