diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 302b56c..a546258 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2325,21 +2325,6 @@
 #endif  // CONFIG_COMPOUND_SINGLEREF
           mv[1].as_int = 0;
       }
-      int interp_ctx[2] = { -1 };
-      int interp_filter[2] = { cm->interp_filter };
-      if (cm->interp_filter == SWITCHABLE) {
-        int dir;
-        for (dir = 0; dir < 2; ++dir) {
-          if (has_subpel_mv_component(xd->mi[0], xd, dir) ||
-              (mbmi->ref_frame[1] > INTRA_FRAME &&
-               has_subpel_mv_component(xd->mi[0], xd, dir + 2))) {
-            interp_ctx[dir] = av1_get_pred_context_switchable_interp(xd, dir);
-            interp_filter[dir] = mbmi->interp_filter[dir];
-          } else {
-            interp_filter[dir] = EIGHTTAP_REGULAR;
-          }
-        }
-      }
 
       MACROBLOCK *const x = &cpi->td.mb;
       const MB_MODE_INFO_EXT *const mbmi_ext = x->mbmi_ext;
@@ -2367,13 +2352,11 @@
           "Frame=%d, (mi_row,mi_col)=(%d,%d), mode=%d, bsize=%d, "
           "show_frame=%d, mv[0]=(%d,%d), mv[1]=(%d,%d), ref[0]=%d, "
           "ref[1]=%d, motion_mode=%d, inter_mode_ctx=%d, mode_ctx=%d, "
-          "interp_ctx=(%d,%d), interp_filter=(%d,%d), newmv_ctx=%d, "
-          "zeromv_ctx=%d, refmv_ctx=%d\n",
+          "newmv_ctx=%d, zeromv_ctx=%d, refmv_ctx=%d\n",
           cm->current_video_frame, mi_row, mi_col, mbmi->mode, bsize,
           cm->show_frame, mv[0].as_mv.row, mv[0].as_mv.col, mv[1].as_mv.row,
           mv[1].as_mv.col, mbmi->ref_frame[0], mbmi->ref_frame[1],
           mbmi->motion_mode, mbmi_ext->mode_context[ref_frame_type], mode_ctx,
-          interp_ctx[0], interp_ctx[1], interp_filter[0], interp_filter[1],
           newmv_ctx, zeromv_ctx, refmv_ctx);
     }
   }
@@ -2432,7 +2415,6 @@
 #endif  // CONFIG_DUAL_FILTER || CONFIG_WARPED_MOTION
 
 #if ENC_MISMATCH_DEBUG
-    // NOTE(zoeliu): For debug
     enc_dump_logs(cpi, mi_row, mi_col);
 #endif  // ENC_MISMATCH_DEBUG
 
