diff --git a/Makefile b/Makefile
index f3e5bc2..341d12e 100644
--- a/Makefile
+++ b/Makefile
@@ -13,17 +13,12 @@
 	mkdir -p "${DESTDIR}/usr/share/crostestutils"
 	install -m 0644 lib/constants.py "${DESTDIR}/usr/lib/crostestutils"
 	install -m 0755 cros_run_unit_tests "${DESTDIR}/usr/bin"
-	install -m 0755 cros_run_vm_test ${DESTDIR}/usr/bin
 	install -m 0755 run_remote_tests.sh ${DESTDIR}/usr/bin
 	install -m 0644 unit_test_black_list.txt \
 		"${DESTDIR}/usr/share/crostestutils"
-	install -m 0755 utils_py/cros_run_parallel_vm_tests.py \
-		"${DESTDIR}/usr/lib/crostestutils"
 	install -m 0755 utils_py/generate_test_report.py \
 		"${DESTDIR}/usr/lib/crostestutils"
 
 	# Make symlinks for those python files in lib.
-	ln -s "${DESTDIR}/usr/lib/crostestutils/cros_run_parallel_vm_tests.py" \
-		"${DESTDIR}/usr/bin/cros_run_parallel_vm_tests"
 	ln -s "${DESTDIR}/usr/lib/crostestutils/generate_test_report.py" \
 		"${DESTDIR}/usr/bin/generate_test_report"
diff --git a/au_test_harness/au_worker.py b/au_test_harness/au_worker.py
index 6dedef1..701a12a 100644
--- a/au_test_harness/au_worker.py
+++ b/au_test_harness/au_worker.py
@@ -41,8 +41,8 @@
       self.verify_suite = 'suite_Smoke'
 
     # Set these up as they are used often.
-    self.crosutils = cros_lib.CROSUTILS_DIRECTORY
-    self.crosutilsbin = os.path.join(self.crosutils, 'bin')
+    self.crosutils = cros_lib.GetCrosUtilsPath()
+    self.crosutilsbin = cros_lib.GetCrosUtilsBinPath()
 
   def CleanUp(self):
     """Called at the end of every test."""
diff --git a/au_test_harness/cros_au_test_harness.py b/au_test_harness/cros_au_test_harness.py
index 7aed0f7..9b7be82 100755
--- a/au_test_harness/cros_au_test_harness.py
+++ b/au_test_harness/cros_au_test_harness.py
@@ -53,9 +53,7 @@
   """
   def _GenerateVMUpdate(target, src, private_key_path):
     """Generates an update using the devserver."""
-    command = ['./enter_chroot.sh',
-               '--',
-               'sudo',
+    command = ['sudo',
                'start_devserver',
                '--pregenerate_update',
                '--exit',
@@ -70,7 +68,9 @@
                      cros_lib.ReinterpretPathForChroot(private_key_path))
 
     return cros_lib.RunCommandCaptureOutput(command, combine_stdout_stderr=True,
-                                            print_cmd=True)
+                                            enter_chroot=True,
+                                            print_cmd=True,
+                                            cwd=cros_lib.GetCrosUtilsPath())
 
   # Use dummy class to mock out updates that would be run as part of a test.
   test_suite = _PrepareTestSuite(options, use_dummy_worker=True)
@@ -168,7 +168,8 @@
   # Wipe devserver cache.
   cros_lib.RunCommandCaptureOutput(
       ['sudo', 'start_devserver', '--clear_cache', '--exit', ],
-      enter_chroot=True, print_cmd=False, combine_stdout_stderr=True)
+      enter_chroot=True, print_cmd=False, combine_stdout_stderr=True,
+      cwd=cros_lib.GetCrosUtilsPath())
 
   # Clean previous vm images if they exist.
   if options.type == 'vm':
diff --git a/au_test_harness/dev_server_wrapper.py b/au_test_harness/dev_server_wrapper.py
index 3ddc1b8..d7d7b05 100644
--- a/au_test_harness/dev_server_wrapper.py
+++ b/au_test_harness/dev_server_wrapper.py
@@ -36,7 +36,8 @@
                          '--production',
                          ], enter_chroot=True, print_cmd=False,
                          log_to_file=os.path.join(self.test_root,
-                                                  'dev_server.log'))
+                                                  'dev_server.log'),
+                         cwd=cros_lib.GetCrosUtilsPath())
 
   def Stop(self):
     """Kills the devserver instance."""
diff --git a/au_test_harness/public_key_manager.py b/au_test_harness/public_key_manager.py
index 355e744..0a9fafb 100644
--- a/au_test_harness/public_key_manager.py
+++ b/au_test_harness/public_key_manager.py
@@ -88,4 +88,4 @@
                          cros_lib.ReinterpretPathForChroot(from_dir),
                          image], print_cmd=False, redirect_stdout=True,
                         redirect_stderr=True, enter_chroot=True,
-                        cwd=cros_lib.CROSUTILS_DIRECTORY)
+                        cwd=cros_lib.GetCrosUtilsPath())
diff --git a/au_test_harness/real_au_worker.py b/au_test_harness/real_au_worker.py
index 43b8c2e..ffd9963 100644
--- a/au_test_harness/real_au_worker.py
+++ b/au_test_harness/real_au_worker.py
@@ -53,11 +53,12 @@
     """Verifies an image using run_remote_tests.sh with verification suite."""
     test_directory = self.GetNextResultsPath('verify')
     output = cros_lib.RunCommand(
-        ['%s/run_remote_tests.sh' % self.crosutils,
+        ['run_remote_tests.sh',
          '--remote=%s' % self.remote,
          '--results_dir_root=%s' % test_directory,
          self.verify_suite,
-        ], error_ok=True, enter_chroot=False, redirect_stdout=True)
+        ], error_ok=True, enter_chroot=True, redirect_stdout=True,
+        cwd=self.crosutils)
     return self.AssertEnoughTestsPassed(unittest, output,
                                         percent_required_to_pass)
 
diff --git a/au_test_harness/vm_au_worker.py b/au_test_harness/vm_au_worker.py
index 9788fdd..b5925cc 100644
--- a/au_test_harness/vm_au_worker.py
+++ b/au_test_harness/vm_au_worker.py
@@ -103,7 +103,7 @@
     (_, _, log_directory_in_chroot) = log_directory.rpartition('chroot')
     # image_to_live already verifies lsb-release matching.  This is just
     # for additional steps.
-    commandWithArgs = ['%s/cros_run_vm_test' % self.crosutilsbin,
+    commandWithArgs = ['./cros_run_vm_test',
                        '--image_path=%s' % self.vm_image_path,
                        '--snapshot',
                        '--persist',
@@ -114,7 +114,8 @@
                       ]
     if self.graphics_flag: commandWithArgs.append(self.graphics_flag)
     output = cros_lib.RunCommand(commandWithArgs, error_ok=True,
-                                 enter_chroot=False, redirect_stdout=True)
+                                 enter_chroot=False, redirect_stdout=True,
+                                 cwd=self.crosutilsbin)
     return self.AssertEnoughTestsPassed(unittest, output,
                                         percent_required_to_pass)
 
diff --git a/cros_run_vm_test b/cros_run_vm_test
index 22ec17e..03c529e 100755
--- a/cros_run_vm_test
+++ b/cros_run_vm_test
@@ -6,13 +6,11 @@
 #
 # Runs a given test case under a VM.
 
-. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh 2> /dev/null ||
-  SCRIPT_ROOT=/usr/lib/crosutils
-. "${SCRIPT_ROOT}/common.sh" ||
-  (echo "Unable to load common.sh" && false) ||
-  exit 1
+# This can only run outside the chroot.
+. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh || exit 1
+. "${SCRIPT_ROOT}/common.sh" || exit 1
 . "${SCRIPT_ROOT}/lib/cros_vm_lib.sh" || die "Unable to load cros_vm_lib.sh"
-. "${SCRIPT_ROOT}/lib/cros_vm_constants.sh" || \
+. "${SCRIPT_ROOT}/lib/cros_vm_constants.sh" ||
   die "Unable to load cros_vm_constants.sh"
 
 get_default_board
@@ -24,8 +22,6 @@
 DEFINE_string test_case "" "Name of the test case to run"
 DEFINE_boolean use_emerged ${FLAGS_FALSE} \
     "Force use of emerged autotest packages"
-DEFINE_string verify_chrome_version "" \
-    "Verify that this chrome version matches that on vm."
 
 set -e
 
@@ -40,7 +36,7 @@
 
 # Use latest if not specified.
 if [ -z "${FLAGS_image_path}" ]; then
-  LATEST_IMAGE="$(${SCRIPTS_DIR}/get_latest_image.sh \
+  LATEST_IMAGE="$("${SCRIPT_ROOT}/get_latest_image.sh" \
       --board=${FLAGS_board})/${DEFAULT_QEMU_IMAGE}"
   info "Using latest vm image ${LATEST_IMAGE}"
   FLAGS_image_path=${LATEST_IMAGE}
@@ -72,20 +68,7 @@
 start_kvm "${FLAGS_image_path}"
 retry_until_ssh
 
-if [ -n "${FLAGS_verify_chrome_version}" ]; then
-  info "Verifying version of Chrome matches what we expect."
-  if chrome_version_is_valid "${FLAGS_verify_chrome_version}"; then
-    chrome_version_on_vm=$("${SCRIPTS_DIR}/bin/cros_get_chrome_version" \
-        --remote=127.0.0.1 \
-        --ssh_port=${FLAGS_ssh_port})
-    [[ ${chrome_version_on_vm} == ${FLAGS_verify_chrome_version} ]] || \
-        warn "CHROME_VERSION is no longer set.This check will be removed"
-  else
-    warn "${FLAGS_verify_chrome_version} is not a valid Chrome version"
-  fi
-fi
-
-"${SCRIPTS_DIR}/run_remote_tests.sh" \
+"${SCRIPT_ROOT}/enter_chroot.sh" -- run_remote_tests.sh \
     --board=${FLAGS_board} \
     --ssh_port=${FLAGS_ssh_port} \
     --remote=127.0.0.1 \
diff --git a/cros_run_vm_update b/cros_run_vm_update
index 6520ada..c1f54c5 100755
--- a/cros_run_vm_update
+++ b/cros_run_vm_update
@@ -6,11 +6,8 @@
 #
 # Updates an existing vm image with another image.
 
-. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh 2> /dev/null ||
-  SCRIPT_ROOT=/usr/lib/crosutils
-. "${SCRIPT_ROOT}/common.sh" ||
-  (echo "Unable to load common.sh" && false) ||
-  exit 1
+. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh || exit 1
+. "${SCRIPT_ROOT}/common.sh" || exit 1
 . "${SCRIPT_ROOT}/lib/cros_vm_lib.sh" || die "Unable to load cros_vm_lib.sh"
 
 DEFINE_string payload "" "Full name of the payload to update with."
@@ -50,7 +47,7 @@
   IMAGE_ARGS="${IMAGE_ARGS} --proxy_port=${FLAGS_proxy_port}"
 fi
 
-"${SCRIPTS_DIR}/image_to_live.sh" \
+"${SCRIPT_ROOT}/image_to_live.sh" \
   --for_vm \
   --remote=127.0.0.1 \
   --ssh_port=${FLAGS_ssh_port} \
diff --git a/outside_chroot_common.sh b/outside_chroot_common.sh
index 6947171..3cc4f2e 100644
--- a/outside_chroot_common.sh
+++ b/outside_chroot_common.sh
@@ -7,5 +7,10 @@
 # Sets script_root relative to this directory.
 
 # From platform/dev/host.
+if [ -f /etc/debian_chroot ]; then
+  echo "Must be run from outside the chroot." 2> /dev/null
+  exit 1
+fi
+
 SCRIPT_ROOT="$(dirname "$(readlink -f "$0")")/../../scripts"
 
diff --git a/run_remote_tests.sh b/run_remote_tests.sh
index 62f5863..8b881d5 100755
--- a/run_remote_tests.sh
+++ b/run_remote_tests.sh
@@ -4,13 +4,10 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-# Script to run client or server tests on a live remote image.
-. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh 2> /dev/null ||
-  SCRIPT_ROOT=/usr/lib/crosutils
-. "${SCRIPT_ROOT}/common.sh" ||
-  (echo "Unable to load common.sh" && false) ||
-  exit 1
-. "${SCRIPT_ROOT}/remote_access.sh" || die "Unable to load remote_access.sh"
+# This can only run inside the chroot.
+CROSUTILS=/usr/lib/crosutils
+. "${CROSUTILS}/common.sh" || exit 1
+. "${CROSUTILS}/remote_access.sh" || die "Unable to load remote_access.sh"
 
 DEFINE_string args "" \
     "Command line arguments for test. Quoted and space separated if multiple." a
@@ -20,7 +17,6 @@
 DEFINE_string board "" \
     "The board for which you are building autotest"
 DEFINE_boolean build ${FLAGS_FALSE} "Build tests while running" b
-DEFINE_string chroot "${DEFAULT_CHROOT_DIR}" "alternate chroot location" c
 DEFINE_boolean cleanup ${FLAGS_FALSE} "Clean up temp directory"
 DEFINE_integer iterations 1 "Iterations to run every top level test" i
 DEFINE_string results_dir_root "" "alternate root results directory"
@@ -326,10 +322,9 @@
 
   echo ""
   info "Test results:"
-  ./generate_test_report "${TMP}" --strip="${TMP}/"
+  generate_test_report "${TMP}" --strip="${TMP}/"
 
   print_time_elapsed
 }
 
-restart_in_chroot_if_needed "$@"
 main "$@"
diff --git a/ssh_test.sh b/ssh_test.sh
deleted file mode 100755
index 3352cd6..0000000
--- a/ssh_test.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# Run remote access test to ensure ssh access to a host is working. Exits with
-# a code of 0 if successful and non-zero otherwise. Used by test infrastructure
-# scripts.
-
-. $(dirname "$(readlink -f "$0")")/outside_chroot_common.sh 2> /dev/null ||
-  SCRIPT_ROOT=/usr/lib/crosutils
-. "${SCRIPT_ROOT}/common.sh" ||
-  (echo "Unable to load common.sh" && false) ||
-  exit 1
-. "${SCRIPT_ROOT}/remote_access.sh" || die "Unable to load remote_access.sh"
-
-function cleanup {
-  cleanup_remote_access
-  rm -rf "${TMP}"
-}
-
-function main() {
-  cd "${SCRIPTS_DIR}"
-
-  FLAGS "$@" || exit 1
-  eval set -- "${FLAGS_ARGV}"
-
-  set -e
-
-  trap cleanup EXIT
-
-  TMP=$(mktemp -d /tmp/ssh_test.XXXX)
-
-  remote_access_init
-}
-
-main $@
diff --git a/utils_py/cros_run_parallel_vm_tests.py b/utils_py/cros_run_parallel_vm_tests.py
index b3bfd6a..0be1c3f 100755
--- a/utils_py/cros_run_parallel_vm_tests.py
+++ b/utils_py/cros_run_parallel_vm_tests.py
@@ -71,9 +71,9 @@
     ssh_port = self._base_ssh_port
     spawned_tests = []
     for test in self._tests:
-      # TODO(sosa): Fix when called from /usr/bin inside the chroot.
+      # Must run outside the chroot and use src path.
       args = [ os.path.join(os.path.dirname(os.path.realpath(__file__)),
-                                            '../cros_run_vm_test'),
+                            '../cros_run_vm_test'),
                '--snapshot', # The image is shared so don't modify it.
                '--no_graphics',
                '--use_emerged',
