diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c
index 94606a9b02d96c32353349a477a63089001dba06..8fc713d08166617696b3dcf86d0f1dbe9d3bd41d 100644
--- a/libavcodec/cuvid.c
+++ b/libavcodec/cuvid.c
@@ -288,8 +288,9 @@ static int CUDAAPI cuvid_handle_picture_display(void *opaque, CUVIDPARSERDISPINF
 {
     AVCodecContext *avctx = opaque;
     CuvidContext *ctx = avctx->priv_data;
-    CuvidParsedFrame parsed_frame = { *dispinfo, 0, 0 };
+    CuvidParsedFrame parsed_frame = { { 0 } };
 
+    parsed_frame.dispinfo = *dispinfo;
     ctx->internal_error = 0;
 
     if (ctx->deint_mode == cudaVideoDeinterlaceMode_Weave) {