diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 3b5ef7a7732842478064714914f339f80220c606..7277f9222d207097a6274f14de555ad1d56f394b 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -848,7 +848,7 @@ int attribute_align_arg avcodec_open(AVCodecContext *avctx, AVCodec *codec)
         goto end;
     }
 
-    if(avctx->codec)
+    if(avctx->codec || !codec)
         goto end;
 
     if (codec->priv_data_size > 0) {