diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index c289cc6a37854f7cab0305a2475edf986a10c4c4..b7832f20ba66ba621fa8a6c38e8132a7d18a1da3 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -348,11 +348,9 @@ static int display_end_segment(AVCodecContext *avctx, void *data,
     sub->end_display_time   = 20000;
     sub->format             = 0;
 
-    if (!sub->rects) {
         sub->rects     = av_mallocz(sizeof(*sub->rects));
         sub->rects[0]  = av_mallocz(sizeof(*sub->rects[0]));
         sub->num_rects = 1;
-    }
 
     sub->rects[0]->x    = ctx->presentation.x;
     sub->rects[0]->y    = ctx->presentation.y;