diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index dd8f05a8c3c270dc575cc24a55e3fc3e595155d4..63055f50590ae2d87e8d353ce48480511c69edd1 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -26,7 +26,6 @@
 
 #include "vp56.h"
 #include "vp56data.h"
-#include "get_bits.h"
 
 
 void vp56_init_dequant(VP56Context *s, int quantizer)
@@ -696,7 +695,6 @@ av_cold void vp56_init(AVCodecContext *avctx, int flip, int has_alpha)
 av_cold int vp56_free(AVCodecContext *avctx)
 {
     VP56Context *s = avctx->priv_data;
-    int pt;
 
     av_freep(&s->qscale_table);
     av_freep(&s->above_blocks);
@@ -708,15 +706,5 @@ av_cold int vp56_free(AVCodecContext *avctx)
         avctx->release_buffer(avctx, s->framep[VP56_FRAME_GOLDEN2]);
     if (s->framep[VP56_FRAME_PREVIOUS]->data[0])
         avctx->release_buffer(avctx, s->framep[VP56_FRAME_PREVIOUS]);
-
-    for (pt=0; pt < 2; pt++) {
-        int ct, cg;
-        free_vlc(&s->dccv_vlc[pt]);
-        free_vlc(&s->runv_vlc[pt]);
-        for (ct=0; ct<3; ct++)
-            for (cg = 0; cg < 6; cg++)
-                free_vlc(&s->ract_vlc[pt][ct][cg]);
-    }
-
     return 0;
 }
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c
index 8bb60ede277e758fe8a039d7ffb635d2bd4017a0..b3dd80ffbf35f2d30e9abb7a42667e855493a3e6 100644
--- a/libavcodec/vp6.c
+++ b/libavcodec/vp6.c
@@ -602,6 +602,23 @@ static av_cold int vp6_decode_init(AVCodecContext *avctx)
     return 0;
 }
 
+static av_cold int vp6_decode_free(AVCodecContext *avctx)
+{
+    VP56Context *s = avctx->priv_data;
+    int pt, ct, cg;
+
+    vp56_free(avctx);
+
+    for (pt=0; pt<2; pt++) {
+        free_vlc(&s->dccv_vlc[pt]);
+        free_vlc(&s->runv_vlc[pt]);
+        for (ct=0; ct<3; ct++)
+            for (cg=0; cg<6; cg++)
+                free_vlc(&s->ract_vlc[pt][ct][cg]);
+    }
+    return 0;
+}
+
 AVCodec vp6_decoder = {
     "vp6",
     CODEC_TYPE_VIDEO,
@@ -609,7 +626,7 @@ AVCodec vp6_decoder = {
     sizeof(VP56Context),
     vp6_decode_init,
     NULL,
-    vp56_free,
+    vp6_decode_free,
     vp56_decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("On2 VP6"),
@@ -623,7 +640,7 @@ AVCodec vp6f_decoder = {
     sizeof(VP56Context),
     vp6_decode_init,
     NULL,
-    vp56_free,
+    vp6_decode_free,
     vp56_decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version)"),
@@ -637,7 +654,7 @@ AVCodec vp6a_decoder = {
     sizeof(VP56Context),
     vp6_decode_init,
     NULL,
-    vp56_free,
+    vp6_decode_free,
     vp56_decode_frame,
     CODEC_CAP_DR1,
     .long_name = NULL_IF_CONFIG_SMALL("On2 VP6 (Flash version, with alpha channel)"),