diff --git a/libavdevice/vfwcap.c b/libavdevice/vfwcap.c
index fea85fc5aee76d55b013fa8be0a378c7b21c91a5..5fdda4a606c9e22c276202b1b3f032ce282115bb 100644
--- a/libavdevice/vfwcap.c
+++ b/libavdevice/vfwcap.c
@@ -230,7 +230,7 @@ static int vfw_read_close(AVFormatContext *s)
     pktl = ctx->pktl;
     while (pktl) {
         AVPacketList *next = pktl->next;
-        av_destruct_packet(&pktl->pkt);
+        av_free_packet(&pktl->pkt);
         av_free(pktl);
         pktl = next;
     }