diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 0b97099..22686bf 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -1359,15 +1359,13 @@
     case ZEROMV: {
 #if CONFIG_GLOBAL_MOTION
       mv[0].as_int = gm_get_motion_vector(&cm->global_motion[ref_frame[0]],
-                                          cm->allow_high_precision_mv,
-                                          block_center_x(mi_col, bsize),
-                                          block_center_y(mi_row, bsize))
+                                          cm->allow_high_precision_mv, bsize,
+                                          mi_col, mi_row)
                          .as_int;
       if (is_compound)
         mv[1].as_int = gm_get_motion_vector(&cm->global_motion[ref_frame[1]],
-                                            cm->allow_high_precision_mv,
-                                            block_center_x(mi_col, bsize),
-                                            block_center_y(mi_row, bsize))
+                                            cm->allow_high_precision_mv, bsize,
+                                            mi_col, mi_row)
                            .as_int;
 #else
       mv[0].as_int = 0;
@@ -1516,14 +1514,12 @@
       assert(is_compound);
 #if CONFIG_GLOBAL_MOTION
       mv[0].as_int = gm_get_motion_vector(&cm->global_motion[ref_frame[0]],
-                                          cm->allow_high_precision_mv,
-                                          block_center_x(mi_col, bsize),
-                                          block_center_y(mi_row, bsize))
+                                          cm->allow_high_precision_mv, bsize,
+                                          mi_col, mi_row)
                          .as_int;
       mv[1].as_int = gm_get_motion_vector(&cm->global_motion[ref_frame[1]],
-                                          cm->allow_high_precision_mv,
-                                          block_center_x(mi_col, bsize),
-                                          block_center_y(mi_row, bsize))
+                                          cm->allow_high_precision_mv, bsize,
+                                          mi_col, mi_row)
                          .as_int;
 #else
       mv[0].as_int = 0;
@@ -1631,17 +1627,14 @@
 #if CONFIG_GLOBAL_MOTION
       zeromv[0].as_int = gm_get_motion_vector(&cm->global_motion[rf[0]],
                                               cm->allow_high_precision_mv,
-                                              block_center_x(mi_col, bsize),
-                                              block_center_y(mi_row, bsize))
+                                              bsize, mi_col, mi_row)
                              .as_int;
-      zeromv[1].as_int =
-          (rf[1] != NONE_FRAME)
-              ? gm_get_motion_vector(&cm->global_motion[rf[1]],
-                                     cm->allow_high_precision_mv,
-                                     block_center_x(mi_col, bsize),
-                                     block_center_y(mi_row, bsize))
-                    .as_int
-              : 0;
+      zeromv[1].as_int = (rf[1] != NONE_FRAME)
+                             ? gm_get_motion_vector(&cm->global_motion[rf[1]],
+                                                    cm->allow_high_precision_mv,
+                                                    bsize, mi_col, mi_row)
+                                   .as_int
+                             : 0;
 #else
       zeromv[0].as_int = zeromv[1].as_int = 0;
 #endif
