diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c
index fec517228c69c5c3404d56cb46c5a827f972428c..734ab36fc9467ab4ef2e0715cc4d4ed049a18b98 100644
--- a/vp8/decoder/decodframe.c
+++ b/vp8/decoder/decodframe.c
@@ -533,7 +533,10 @@ static void stop_token_decoder(VP8D_COMP *pbi)
     VP8_COMMON *pc = &pbi->common;
 
     if (pc->multi_token_partition != ONE_PARTITION)
+    {
         vpx_free(pbi->mbc);
+        pbi->mbc = NULL;
+    }
 }
 
 static void init_frame(VP8D_COMP *pbi)
diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c
index 23a3c7d0658ba120d2050d23d7c475a15f5714ea..4845cd076ab7cfbe7f057391adc2e83aeb1416b4 100644
--- a/vp8/decoder/onyxd_if.c
+++ b/vp8/decoder/onyxd_if.c
@@ -129,6 +129,7 @@ void vp8dx_remove_decompressor(VP8D_PTR ptr)
     vp8_de_alloc_overlap_lists(pbi);
 #endif
     vp8_remove_common(&pbi->common);
+    vpx_free(pbi->mbc);
     vpx_free(pbi);
 }