diff --git a/build_packages b/build_packages
index 3261981..d8aa7f1 100755
--- a/build_packages
+++ b/build_packages
@@ -62,6 +62,8 @@
   "Build factory installer."
 DEFINE_boolean withtest "${FLAGS_TRUE}" \
   "Build packages required for testing."
+DEFINE_boolean chrome_binhost_only $FLAGS_FALSE \
+  "Only fetch packages from the Chrome binhost."
 
 # The --reuse_pkgs_from_local_boards flag tells Portage to share binary
 # packages between boards that are built locally, so that the total time
@@ -106,6 +108,9 @@
 if [[ "${FLAGS_jobs}" -ne -1 ]]; then
   UPDATE_ARGS+=( --jobs=${FLAGS_jobs} )
 fi
+if [ "${FLAGS_chrome_binhost_only}" -eq "${FLAGS_TRUE}" ]; then
+  UPDATE_ARGS+=( --chrome_binhost_only )
+fi
 if [ "${FLAGS_reuse_pkgs_from_local_boards}" -eq "${FLAGS_TRUE}" ]; then
   UPDATE_ARGS+=( --reuse_pkgs_from_local_boards )
 fi
diff --git a/setup_board b/setup_board
index 1f0c258..efd85f9 100755
--- a/setup_board
+++ b/setup_board
@@ -59,6 +59,8 @@
   "Board variant."
 DEFINE_boolean regen_configs ${FLAGS_FALSE} \
   "Regenerate all config files (useful for modifying profiles w/out rebuild)."
+DEFINE_boolean chrome_binhost_only $FLAGS_FALSE \
+  "Only fetch packages from the Chrome binhost."
 
 # The --reuse_pkgs_from_local_boards flag tells Portage to share binary
 # packages between boards that are built locally, so that the total time
@@ -183,13 +185,12 @@
   fi
 }
 
-print_binhost_config() {
-  if [ "$1" == "--local" ]; then
+# Print the PORTAGE_BINHOST variable, suitable for inclusion in make.conf.board.
+print_board_binhost_config() {
+  if [ "${FLAGS_reuse_pkgs_from_local_boards}" -eq "${FLAGS_TRUE}" ]; then
     cros_generate_local_binhosts --board "${BOARD_VARIANT}"
     echo 'PORTAGE_BINHOST="$LOCAL_BINHOST"'
     return 0
-  elif [ $# -ne 0 ]; then
-    die "Invalid arguments for print_binhost_config: $@"
   fi
 
   local binhost_dir="$CHROMIUMOS_OVERLAY/chromeos/binhost/target"
@@ -231,7 +232,11 @@
     fi
   done
 
-  cat <<'EOF'
+  if [ "${FLAGS_chrome_binhost_only}" -eq "${FLAGS_TRUE}" ]; then
+    echo source "$chrome_binhost"
+    echo 'PORTAGE_BINHOST="$LATEST_RELEASE_CHROME_BINHOST"'
+  else
+    cat <<'EOF'
 # FULL_BINHOST is populated by the full builders. It is listed first because it
 # is the lowest priority binhost. It is better to download packages from the
 # preflight binhost because they are fresher packages.
@@ -239,41 +244,34 @@
 
 EOF
 
-  if [[ -f "$preflight_binhost" && -z "$IGNORE_PREFLIGHT_BINHOST" ]]; then
-    cat <<'EOF'
+    if [[ -f "$preflight_binhost" && -z "$IGNORE_PREFLIGHT_BINHOST" ]]; then
+      cat <<'EOF'
 # PREFLIGHT_BINHOST is populated by the preflight builders. If the same
 # package is provided by both the preflight and full binhosts, the package is
 # downloaded from the preflight binhost.
 EOF
-    echo source "$preflight_binhost"
-    echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $PREFLIGHT_BINHOST"'
-    echo
-  fi
+      echo source "$preflight_binhost"
+      echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $PREFLIGHT_BINHOST"'
+      echo
+    fi
 
-  if [[ -f "$internal_binhost"  && -z "$IGNORE_PREFLIGHT_BINHOST" ]]; then
-    cat <<'EOF'
+    if [[ -f "$internal_binhost"  && -z "$IGNORE_PREFLIGHT_BINHOST" ]]; then
+      cat <<'EOF'
 # The internal PREFLIGHT_BINHOST is populated by the internal preflight
 # builders. It takes priority over the public preflight binhost.
 EOF
-    echo source "$internal_binhost"
-    echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $PREFLIGHT_BINHOST"'
-    echo
-  fi
+      echo source "$internal_binhost"
+      echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $PREFLIGHT_BINHOST"'
+      echo
+    fi
 
-  if [[ -f "$chrome_binhost" ]]; then
-    cat <<'EOF'
+    if [[ -f "$chrome_binhost" ]]; then
+      cat <<'EOF'
 # LATEST_RELEASE_CHROME_BINHOST provides prebuilts for chromeos-chrome only.
 EOF
-    echo source "$chrome_binhost"
-    echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $LATEST_RELEASE_CHROME_BINHOST"'
-  fi
-}
-
-print_board_binhost_config() {
-  if [ "${FLAGS_reuse_pkgs_from_local_boards}" -eq "${FLAGS_TRUE}" ]; then
-    print_binhost_config --local
-  else
-    print_binhost_config
+      echo source "$chrome_binhost"
+      echo 'PORTAGE_BINHOST="$PORTAGE_BINHOST $LATEST_RELEASE_CHROME_BINHOST"'
+    fi
   fi
 }
 
