diff --git a/vp9/decoder/vp9_onyxd_if.c b/vp9/decoder/vp9_onyxd_if.c
index d3030746d141d7fd045f674ac14ee59816f31779..255168429f41e39c5e2971f92c686c20b3241e4f 100644
--- a/vp9/decoder/vp9_onyxd_if.c
+++ b/vp9/decoder/vp9_onyxd_if.c
@@ -394,6 +394,10 @@ int vp9_receive_compressed_data(VP9D_PTR ptr,
     cm->mi_grid_visible = cm->mi_grid_base + cm->mode_info_stride + 1;
     cm->prev_mi_grid_visible = cm->prev_mi_grid_base + cm->mode_info_stride + 1;
 
+    pbi->mb.mi_8x8 = cm->mi_grid_visible;
+    pbi->mb.mi_8x8[0] = cm->mi;
+    pbi->mb.this_mi = cm->mi;
+
     cm->current_video_frame++;
   }
 
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index e07186dd2a987407ca7d89980fd7a2fe3e708bc7..5ac26c06c31dc2020b72d66ae9a33cc97731e39b 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -3493,6 +3493,10 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
     cm->mi = cm->mip + cm->mode_info_stride + 1;
     cm->mi_grid_visible = cm->mi_grid_base + cm->mode_info_stride + 1;
 
+    cpi->mb.e_mbd.mi_8x8 = cm->mi_grid_visible;
+    cpi->mb.e_mbd.mi_8x8[0] = cm->mi;
+    cpi->mb.e_mbd.this_mi = cm->mi;
+
     // Don't increment frame counters if this was an altref buffer
     // update not a real frame
     ++cm->current_video_frame;