diff --git a/voltha b/voltha
index eb02a2a..67c539b 100755
--- a/voltha
+++ b/voltha
@@ -1542,9 +1542,6 @@
         espin - "$VERIFIED"
         wait_for_pods - "kube-system" 1 "includes" "Waiting for Tiller POD to start" "$NO_LABEL" "tiller-deploy-.*"
     fi
-    bspin - "Add Google Incubator repository to Helm"
-    (set -x; helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
 
     # HACK (sort-of) - the config for tiller is about to be patched, which will
     # cause the tiller pod to be recreated. This can sometimes cause a timing
@@ -1554,31 +1551,7 @@
     # scale up of the pod so the script controlls when it should be expecting
     # things
     (set -x; kubectl -n kube-system scale deploy tiller-deploy --replicas=0 >>"$LOG" 2>&1) >>"$LOG" 2>&1
-
-    bspin - "Add Google Stable repository to Helm"
-    (set -x; helm repo add stable https://kubernetes-charts.storage.googleapis.com >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add ONF VOLTHA repository to Helm"
-    (set -x; helm repo add onf https://charts.opencord.org >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add ONF ONOS repository to Helm"
-    (set -x; helm repo add onos https://charts.onosproject.org >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add ONF Atomix repository to Helm"
-    (set -x; helm repo add atomix https://charts.atomix.io >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add Custom BBSIM SADIS Server repository to Helm"
-    (set -x; helm repo add bbsim-sadis https://ciena.github.io/bbsim-sadis-server/charts >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add  Elastic repository to Helm"
-    (set -x; helm repo add elastic https://helm.elastic.co  >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Add Fluentd-ElasticSearch repository to Helm"
-    (set -x; helm repo add kiwigrid https://kiwigrid.github.io >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
-    bspin - "Update Helm repository cache"
-    (set -x; helm repo update >>"$LOG" 2>&1) >>"$LOG" 2>&1
-    espin - "$VERIFIED"
+    wait_for_pods - "kube-system" 0 "not" "Waiting for Tiller POD to shutdown" "$NO_LABEL" "tiller-deploy-.*"
 
     # Create and k8s service account so that Helm can create pods
     bspin - "Create Tiller ServiceAccount"
@@ -1603,13 +1576,48 @@
         espin "$VERIFIED"
     fi
 
-    if [ "$UPDATE_HELM_REPOS" == "yes" ]; then
-        bspin - "Update Helm repository cache"
-        (set -x; helm repo update >>"$LOG" 2>&1) >>"$LOG" 2>&1
-        espin - "$VERIFIED"
-    fi
 fi
 wait_for_pods - "kube-system" 1 "includes" "Waiting for Tiller POD to start" "$NO_LABEL" "tiller-deploy-.*"
+
+REPOS="onf|https://charts.opencord.org|ONF_VOLTHA \
+    stable|https://kubernetes-charts.storage.googleapis.com|Google_Stable \
+    incubator|https://kubernetes-charts-incubator.storage.googleapis.com|Google_Incubator"
+
+if is_in "$WITH_ONOS" "yes,legacy,classic"; then
+    REPOS+=" onos|https://charts.onosproject.org|ONF_ONOS \
+        atomix|https://charts.atomix.io|ONF_Atomi"
+fi
+if [ "$CONFIG_SADIS" == "external" ]; then
+    REPOS+=" bbsim-sadis|https://ciena.github.io/bbsim-sadis-server/charts|Custom_BBSIM_SADIS_Server"
+fi
+if [ "$WITH_EFK" == "yes" ]; then
+    REPOS+=" elastic|https://helm.elastic.co|Elastic \
+    kiwigrid|https://kiwigrid.github.io|Fluentd-ElasticSearch"
+fi
+REPO_UPDATE_REQ="no"
+
+bspin - "Verify Helm Repository"
+for REPO in $REPOS; do
+    REPO_NAME="$(echo "$REPO" | cut -d\| -f1)"
+    REPO_URL="$(echo "$REPO" | cut -d\| -f2)"
+    REPO_LABEL="$(echo "$REPO" | cut -d\| -f3 | sed -e 's/_/ /g')"
+
+    sspin - "Verify Helm Repository: $REPO_LABEL$CEOL"
+    if [ "$(helm repo list 2>/dev/null | grep -c "$REPO_NAME" 2>/dev/null)" -eq 0 ]; then
+        sspin - "Add Helm Repository: $REPO_LABEL$CEOL"
+        (set -x; helm repo add "$REPO_NAME" "$REPO_URL" >>"$LOG" 2>&1) >>"$LOG" 2>&1
+        REPO_UPDATE_REQ="yes"
+    fi
+done
+sspin - "Verify Helm Repositories$CEOL"
+espin - "$VERIFIED"
+
+if [ "$REPO_UPDATE_REQ" == "yes" ] || [ "$UPDATE_HELM_REPOS" == "yes" ]; then
+    bspin - "Update Helm repository cache"
+    (set -x; helm repo update >>"$LOG" 2>&1) >>"$LOG" 2>&1
+    espin - "$VERIFIED"
+fi
+
 if [ "$WITH_TIMINGS" == "yes" ]; then
     NOW="$(date +%s)"
     printtime $((NOW - STIME))
