diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index a24b79e..ca5780e 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -3911,11 +3911,11 @@
     // (like RTC/temporal scalability).
     return refresh_mask | (cpi->refresh_golden_frame << cpi->alt_fb_idx);
   } else {
-    int arf_idx = cpi->alt_fb_idx;
 #if CONFIG_EXT_REFS
     const GF_GROUP *const gf_group = &cpi->twopass.gf_group;
-    arf_idx = cpi->arf_map[gf_group->arf_update_idx[gf_group->index]];
+    int arf_idx = cpi->arf_map[gf_group->arf_update_idx[gf_group->index]];
 #else
+    int arf_idx = cpi->alt_fb_idx;
     if ((cpi->oxcf.pass == 2) && cpi->multi_arf_allowed) {
       const GF_GROUP *const gf_group = &cpi->twopass.gf_group;
       arf_idx = gf_group->arf_update_idx[gf_group->index];
diff --git a/av1/encoder/firstpass.c b/av1/encoder/firstpass.c
index 270a42d..8865c4a 100644
--- a/av1/encoder/firstpass.c
+++ b/av1/encoder/firstpass.c
@@ -1930,7 +1930,8 @@
 
 #if CONFIG_EXT_REFS
     // Check if we need to update the ARF
-    if (cpi->num_extra_arfs && frame_index > arf_pos[which_arf]) {
+    if (is_sg_bipred_enabled && cpi->num_extra_arfs && which_arf > 0 &&
+        frame_index > arf_pos[which_arf]) {
       --which_arf;
       accumulative_subgroup_interval += subgroup_interval[which_arf] + 1;
       // Meet the new subgroup. Reset the bipred_group_end flag;
diff --git a/configure b/configure
index be5df53..1bba82a 100755
--- a/configure
+++ b/configure
@@ -487,6 +487,7 @@
     soft_enable new_tokenset
     soft_enable ext_intra
     soft_enable mv_compress
+    soft_enable ext_refs
 
     # Backwards/jenkins compatibility with --enable-aom-highbitdepth
     enabled aom_highbitdepth && enable_feature highbitdepth
