diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
index 9f0aea841914a3899720bdc40cdb7925d295371f..038b117b1879c59c6524f76627de75634e3e33ee 100644
--- a/modules/codec/avcodec/d3d11va.c
+++ b/modules/codec/avcodec/d3d11va.c
@@ -475,7 +475,10 @@ static int Open(vlc_va_t *va, AVCodecContext *ctx, enum PixelFormat pix_fmt,
     {
         sys->filter = CreateFilter( VLC_OBJECT(va), fmt, sys->i_chroma);
         if (sys->filter == NULL)
+        {
+            err = VLC_EGENERIC;
             goto error;
+        }
     }
 
     err = directx_va_Setup(va, &sys->dx_sys, ctx);