diff --git a/tools/ade b/tools/ade
index 70ab3ee9c7db184f5ca33ae661f12f16e65f11a1..5cbf03484ba4660523476402f08d86eb748559c7 100755
--- a/tools/ade
+++ b/tools/ade
@@ -181,11 +181,11 @@ class Simulator:
         return r.stdout.read().decode().strip()
 
     def install(self, bundle):
-        self._exec('ribchester-bundle', 'remove', bundle.id)
-        self._exec('ribchester-bundle', 'install-app-bundle', bundle.path)
+        self._exec('ribchesterctl', 'remove', bundle.id)
+        self._exec('ribchesterctl', 'install', bundle.path)
 
     def uninstall(self, bundle_id):
-        self._exec('ribchester-bundle', 'remove', bundle_id)
+        self._exec('ribchester', 'remove', bundle_id)
 
     def run(self, app, *args):
         self._exec('canterbury-exec', app, *args)
@@ -257,18 +257,18 @@ class Device:
         self.version.arch = triplet.arch
 
     def install(self, bundle):
-        self._exec('ribchester-bundle', 'remove', bundle.id)
-        bundledir = '/home/user/bundles'
+        self.uninstall(bundle.id)
+        bundledir = '/tmp/bundles'
         self._exec('mkdir', '-p', bundledir)
         remote_path = os.path.join(bundledir, os.path.basename(bundle.path))
         with closing(self._connect()) as ssh:
             with closing(ssh.open_sftp()) as sftp:
                 sftp.put(bundle.path, remote_path)
-        self._exec('ribchester-bundle', 'install-app-bundle', remote_path)
+        self._exec('sudo', 'ribchesterctl', 'install', remote_path)
         self._exec('rm', remote_path)
 
     def uninstall(self, bundle_id):
-        self._exec('ribchester-bundle', 'remove', bundle_id)
+        self._exec('sudo', 'ribchesterctl', 'remove', bundle_id)
 
     def run(self, app, *args):
         self._exec('canterbury-exec', app, *args)