diff --git a/frontend/afe/moblab_rpc_interface.py b/frontend/afe/moblab_rpc_interface.py
index ed0624c..e48f297 100644
--- a/frontend/afe/moblab_rpc_interface.py
+++ b/frontend/afe/moblab_rpc_interface.py
@@ -28,7 +28,6 @@
 from autotest_lib.frontend.afe import rpc_utils
 from autotest_lib.server import frontend
 from autotest_lib.server.hosts import moblab_host
-from chromite.lib import gs
 
 _CONFIG = global_config.global_config
 MOBLAB_BOTO_LOCATION = '/home/moblab/.boto'
@@ -75,8 +74,7 @@
     @classmethod
     def get_gsutil_cmd(cls):
       if not cls._GSUTIL_CMD:
-         cls._GSUTIL_CMD = gs.GSContext.GetDefaultGSUtilBin(
-           cache_dir=CROS_CACHEDIR)
+         cls._GSUTIL_CMD = 'gsutil'
 
       return cls._GSUTIL_CMD
 
diff --git a/site_utils/deployment/install.py b/site_utils/deployment/install.py
index 9276708..5c494e6 100644
--- a/site_utils/deployment/install.py
+++ b/site_utils/deployment/install.py
@@ -61,8 +61,6 @@
 import time
 import traceback
 
-from chromite.lib import gs
-
 import common
 from autotest_lib.client.common_lib import error
 from autotest_lib.client.common_lib import host_states
@@ -78,7 +76,6 @@
 from autotest_lib.server.hosts import servo_host
 from autotest_lib.site_utils.deployment import cmdvalidate
 from autotest_lib.site_utils.deployment.prepare import dut as preparedut
-from autotest_lib.site_utils.stable_images import build_data
 from autotest_lib.utils import labellib
 
 
@@ -142,8 +139,7 @@
     @param dirpath  Path to directory containing the logs.
     @param gspath   Path to GS bucket.
     """
-    ctx = gs.GSContext()
-    ctx.Copy(dirpath, gspath, recursive=True)
+    utils.run(['gsutil', 'cp', '-r', '--', dirpath, gspath])
 
 
 def _get_omaha_build(board):
@@ -160,8 +156,8 @@
             R##-####.#.#.  Will return `None` if no Beta channel
             entry is found.
     """
-    ctx = gs.GSContext()
-    omaha_status = json.loads(ctx.Cat(_OMAHA_STATUS))
+    ret = utils.run(['gsutil', 'cat', '--', _OMAHA_STATUS])
+    omaha_status = json.loads(ret.stdout)
     omaha_board = board.replace('_', '-')
     for e in omaha_status['omaha_data']:
         if (e['channel'] == 'beta' and
