diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index c52e4f31e9ce5144dd2651bedb02911fc8555e16..5f670d39336e0251ab9f410f260f90ff67db90b9 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1472,6 +1472,8 @@ static void set_source_var_based_partition(VP9_COMP *cpi,
   int r, c;
   MODE_INFO *mi_upper_left = cm->mi + mi_row * mis + mi_col;
 
+  vp9_setup_src_planes(x, cpi->Source, mi_row, mi_col);
+
   assert((row8x8_remaining > 0) && (col8x8_remaining > 0));
 
   // In-image SB64
@@ -3201,7 +3203,6 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, const TileInfo *const tile,
                             1, &dummy_rate, &dummy_dist);
         break;
       case SOURCE_VAR_BASED_PARTITION:
-        set_offsets(cpi, tile, mi_row, mi_col, BLOCK_64X64);
         set_source_var_based_partition(cpi, tile, mi_8x8, mi_row, mi_col);
         nonrd_use_partition(cpi, tile, mi_8x8, tp, mi_row, mi_col, BLOCK_64X64,
                             1, &dummy_rate, &dummy_dist);