diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c
index b2bfad275e986cfeb256f1f8e270aff17e940890..f2c3fbdb736bee26b95aa1dbd08fe1565d6086eb 100644
--- a/libavcodec/libfdk-aacenc.c
+++ b/libavcodec/libfdk-aacenc.c
@@ -231,6 +231,11 @@ static av_cold int aac_encode_init(AVCodecContext *avctx)
     }
 
     if (avctx->cutoff > 0) {
+        if (avctx->cutoff < (avctx->sample_rate + 255) >> 8) {
+            av_log(avctx, AV_LOG_ERROR, "cutoff valid range is %d-20000\n",
+                   (avctx->sample_rate + 255) >> 8);
+            goto error;
+        }
         if ((err = aacEncoder_SetParam(s->handle, AACENC_BANDWIDTH,
                                        avctx->cutoff)) != AACENC_OK) {
             av_log(avctx, AV_LOG_ERROR, "Unable to set the encoder bandwith to %d: %s\n",