diff --git a/au_test_harness/au_worker.py b/au_test_harness/au_worker.py
index 51f9dd2..d137b70 100644
--- a/au_test_harness/au_worker.py
+++ b/au_test_harness/au_worker.py
@@ -268,7 +268,7 @@
     Prefixes directory returned for worker with time called i.e. 1_label,
     2_label, etc.  The directory returned is outside the chroot so if passing
     to an script that is called with enther_chroot, make sure to use
-    ReinterpretPathForChroot. The first dir returned is the one where results
+    path_util.ToChrootPath(). The first dir returned is the one where results
     should be stored. The second is one where failed test results should be
     stored. Only the former is created as the latter should only be created if
     the test fails.
diff --git a/generate_test_payloads/cros_generate_test_payloads.py b/generate_test_payloads/cros_generate_test_payloads.py
index 0922bd0..4442c8a 100755
--- a/generate_test_payloads/cros_generate_test_payloads.py
+++ b/generate_test_payloads/cros_generate_test_payloads.py
@@ -36,10 +36,10 @@
 from chromite.lib import cros_build_lib
 from chromite.lib import cros_logging as logging
 from chromite.lib import dev_server_wrapper
-from chromite.lib import git
 from chromite.lib import locking
 from chromite.lib import osutils
 from chromite.lib import parallel
+from chromite.lib import path_util
 from chromite.lib import sudo
 from chromite.lib import timeout_util
 from crostestutils.au_test_harness import cros_au_test_harness
@@ -230,12 +230,12 @@
       command = ['start_devserver', '--pregenerate_update', '--exit']
 
       in_chroot_key = in_chroot_base = None
-      in_chroot_target = git.ReinterpretPathForChroot(payload.target)
+      in_chroot_target = path_util.ToChrootPath(payload.target)
       if payload.base:
-        in_chroot_base = git.ReinterpretPathForChroot(payload.base)
+        in_chroot_base = path_util.ToChrootPath(payload.base)
 
       if payload.key:
-        in_chroot_key = git.ReinterpretPathForChroot(payload.key)
+        in_chroot_key = path_util.ToChrootPath(payload.key)
 
       command.append('--image=%s' % in_chroot_target)
       if payload.base:
diff --git a/lib/public_key_manager.py b/lib/public_key_manager.py
index 8cf0f81..c0ddb42 100644
--- a/lib/public_key_manager.py
+++ b/lib/public_key_manager.py
@@ -12,8 +12,8 @@
 import constants
 from chromite.lib import cros_build_lib
 from chromite.lib import cros_logging as logging
-from chromite.lib import git
 from chromite.lib import osutils
+from chromite.lib import path_util
 from crostestutils.lib import mount_helper
 
 
@@ -73,7 +73,7 @@
     """Makes the image bootable.  Note, it is only useful for non-vm images."""
     from_dir, image = os.path.split(self.image_path)
     if 'qemu' not in image:
-      from_dir = git.ReinterpretPathForChroot(from_dir)
+      from_dir = path_util.ToChrootPath(from_dir)
       cmd = ['bin/cros_make_image_bootable', from_dir, image,
              '--force_developer_mode']
       cros_build_lib.RunCommand(
diff --git a/lib/test_helper.py b/lib/test_helper.py
index d992214..4206438 100644
--- a/lib/test_helper.py
+++ b/lib/test_helper.py
@@ -13,7 +13,7 @@
 import constants
 from chromite.lib import cros_build_lib
 from chromite.lib import cros_logging as logging
-from chromite.lib import git
+from chromite.lib import path_util
 
 
 def _GetTotalMemoryGB():
@@ -58,7 +58,7 @@
   if not os.path.exists(vm_image_path):
     logging.info('Creating %s', vm_image_path)
     cmd = ['./image_to_vm.sh',
-           '--from=%s' % git.ReinterpretPathForChroot(os.path.dirname(image)),
+           '--from=%s' % path_util.ToChrootPath(os.path.dirname(image)),
            '--test_image']
     if full:
       cmd.extend(['--disk_layout', '2gb-rootfs-updatable'])
