diff --git a/build b/build
index c00da76..ddb58a8 100755
--- a/build
+++ b/build
@@ -1,5 +1,4 @@
 #!/bin/bash
-BASE_IMAGE=alpine:3.16.1
 
 usage() {
     me=`basename "$0"`
@@ -100,7 +99,11 @@
 REPORT="Build results: \n"
 RETURN_CODE=0
 
-docker build --build-arg BASE_IMAGE="$BASE_IMAGE" --platform=linux/amd64 -t base:$REV ./container-images/base
+if test -n "$BASE_IMAGE"; then
+    BASE_BUILD_ARGS="--build-arg BASE_IMAGE=$BASE_IMAGE"
+fi
+
+docker build $BASE_BUILD_ARGS --platform=linux/amd64 -t base:$REV ./container-images/base
 if test $? -ne 0; then
     echo -e "\n\nFailed to build base image."
     exit 1
diff --git a/container-images/base/Dockerfile b/container-images/base/Dockerfile
index 2ea8939..ac86e73 100644
--- a/container-images/base/Dockerfile
+++ b/container-images/base/Dockerfile
@@ -1,4 +1,4 @@
-ARG BASE_IMAGE
+ARG BASE_IMAGE=alpine:3.16.1
 FROM $BASE_IMAGE
 
 ENV LC_ALL=C.UTF-8
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
index 9d5ef5a..f6d2848 100755
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
@@ -209,5 +209,4 @@
             if self.is_replica:
                 self._symlink_mounted_site_components()
 
-        if not self.is_replica:
-            get_reindexer(self.site, self.config).start(self.force_offline_reindex)
+        get_reindexer(self.site, self.config).start(self.force_offline_reindex)
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
index 1cd67b1..e5ec6df 100755
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
@@ -26,7 +26,8 @@
 
 LOG = log.get_logger("reindex")
 MNT_PATH = "/var/mnt"
-INDEXES = set(["accounts", "changes", "groups", "projects"])
+INDEXES_PRIMARY = set(["accounts", "changes", "groups", "projects"])
+INDEXES_REPLICA = set(["groups"])
 
 
 class IndexType(enum.Enum):
@@ -46,6 +47,7 @@
         self.is_online_reindex = self.gerrit_config.get_boolean(
             "index.onlineUpgrade", True
         )
+        self.is_replica = self.gerrit_config.get_boolean("container.replica", False)
 
         self.configured_indices = self._parse_gerrit_index_config()
 
@@ -79,7 +81,8 @@
             if not index_attrs["read"]:
                 LOG.info("Index %s not ready.", index)
                 not_ready_indices.append(index)
-        not_ready_indices.extend(INDEXES.difference(self.configured_indices.keys()))
+        index_set = INDEXES_REPLICA if self.is_replica else INDEXES_PRIMARY
+        not_ready_indices.extend(index_set.difference(self.configured_indices.keys()))
         return not_ready_indices
 
     def _indexes_need_update(self):
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
index bd53678..aff9ce6 100644
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
@@ -38,7 +38,10 @@
     def _test_ref_exists(self, repo, ref):
         command = f"git --git-dir {self.site}/git/{repo} rev-parse --verify {ref}"
         git_show_ref = subprocess.run(
-            command.split(), stdout=subprocess.PIPE, universal_newlines=True, check=True
+            command.split(),
+            stdout=subprocess.PIPE,
+            universal_newlines=True,
+            check=False,
         )
 
         return git_show_ref.returncode == 0
