diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index c04953751a86f48e0e3dc777a89e6b5cce18ac57..44ab02d2e9ae07cacaaaffa1eb244ee1191cff99 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -2051,6 +2051,8 @@ static void encode_sb_row(VP9_COMP *cpi, int mi_row, TOKENEXTRA **tp,
     int dummy_rate;
     int64_t dummy_dist;
 
+    vpx_memset(cpi->mb.pred_mv, 0, sizeof(cpi->mb.pred_mv));
+
     if (cpi->sf.reference_masking)
       rd_pick_reference_frame(cpi, mi_row, mi_col);
 
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 95f6d3ce8eeb3ed2fffa75e3f0c24bb1e0a08a43..df0033425895304ac4b6793d119c75737e203b0d 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2096,7 +2096,8 @@ static void mv_pred(VP9_COMP *cpi, MACROBLOCK *x,
   int row_offset, col_offset;
   int num_mv_refs = MAX_MV_REF_CANDIDATES +
                     (cpi->sf.adaptive_motion_search &&
-                     cpi->common.show_frame && block_size < BLOCK_64X64);
+                     cpi->common.show_frame &&
+                     block_size < cpi->sf.max_partition_size);
 
   // Get the sad for each candidate reference mv
   for (i = 0; i < num_mv_refs; i++) {