diff --git a/av1/encoder/motion_search_facade.c b/av1/encoder/motion_search_facade.c
index 319858f..059c8f2 100644
--- a/av1/encoder/motion_search_facade.c
+++ b/av1/encoder/motion_search_facade.c
@@ -436,13 +436,6 @@
     bestsme = av1_full_pixel_search(start_fullmv, &full_ms_params, 5, NULL,
                                     &best_mv.as_fullmv, NULL);
 
-    if (bestsme < INT_MAX) {
-      bestsme = av1_get_mvpred_compound_var(
-          &full_ms_params.mv_cost_params, best_mv.as_fullmv, second_pred, mask,
-          mask_stride, id, &cpi->fn_ptr[bsize], &x->plane[0].src,
-          &ref_yv12[id]);
-    }
-
     // Restore the pointer to the first (possibly scaled) prediction buffer.
     if (id) xd->plane[plane].pre[0] = ref_yv12[0];
 
@@ -525,7 +518,6 @@
 
   // Store the first prediction buffer.
   struct buf_2d orig_yv12;
-  struct buf_2d ref_yv12 = pd->pre[ref_idx];
   if (ref_idx) {
     orig_yv12 = pd->pre[0];
     pd->pre[0] = pd->pre[ref_idx];
@@ -566,12 +558,6 @@
   bestsme = av1_full_pixel_search(start_fullmv, &full_ms_params, 5, NULL,
                                   &best_mv.as_fullmv, NULL);
 
-  if (bestsme < INT_MAX) {
-    bestsme = av1_get_mvpred_compound_var(
-        &full_ms_params.mv_cost_params, best_mv.as_fullmv, second_pred, mask,
-        mask_stride, ref_idx, &cpi->fn_ptr[bsize], &x->plane[0].src, &ref_yv12);
-  }
-
   if (scaled_ref_frame) {
     // Swap back the original buffers for subpel motion search.
     for (int i = 0; i < num_planes; i++) {
