diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index a27e5f9d808fdcfa92c94f5aaf6e2c39fdcbf465..c289cc6a37854f7cab0305a2475edf986a10c4c4 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -343,6 +343,7 @@ static int display_end_segment(AVCodecContext *avctx, void *data,
      *      not been cleared by a subsequent empty display command.
      */
 
+    memset(sub, 0, sizeof(*sub));
     sub->start_display_time = 0;
     sub->end_display_time   = 20000;
     sub->format             = 0;