diff --git a/build/debian/fai_config/files/etc/systemd/system/forwarder_guest_launcher.service/AVF b/build/debian/fai_config/files/etc/systemd/system/forwarder_guest_launcher.service/AVF
index 4c1b2f5..f4c2a24 100644
--- a/build/debian/fai_config/files/etc/systemd/system/forwarder_guest_launcher.service/AVF
+++ b/build/debian/fai_config/files/etc/systemd/system/forwarder_guest_launcher.service/AVF
@@ -4,7 +4,7 @@
 After=network.target
 After=virtiofs_internal.service
 [Service]
-ExecStart=/usr/local/bin/forwarder_guest_launcher --host 192.168.0.1 --grpc_port $(cat /mnt/internal/debian_service_port)
+ExecStart=/usr/bin/bash -c '/usr/local/bin/forwarder_guest_launcher --host 192.168.0.1 --grpc_port $(cat /mnt/internal/debian_service_port)'
 Type=simple
 Restart=on-failure
 RestartSec=1
diff --git a/build/debian/fai_config/files/etc/systemd/system/ip_addr_reporter.service/AVF b/build/debian/fai_config/files/etc/systemd/system/ip_addr_reporter.service/AVF
index 81347a7..b9f3193 100644
--- a/build/debian/fai_config/files/etc/systemd/system/ip_addr_reporter.service/AVF
+++ b/build/debian/fai_config/files/etc/systemd/system/ip_addr_reporter.service/AVF
@@ -5,7 +5,7 @@
 Requires=ttyd.service
 After=virtiofs_internal.service
 [Service]
-ExecStart=/usr/local/bin/ip_addr_reporter --grpc_port $(cat /mnt/internal/debian_service_port)
+ExecStart=/usr/bin/bash -c '/usr/local/bin/ip_addr_reporter --grpc_port $(cat /mnt/internal/debian_service_port)'
 Type=simple
 Restart=on-failure
 User=root
diff --git a/tests/Terminal/AndroidTest.xml b/tests/Terminal/AndroidTest.xml
index eeb7146..262421c 100644
--- a/tests/Terminal/AndroidTest.xml
+++ b/tests/Terminal/AndroidTest.xml
@@ -30,14 +30,6 @@
         <option name="script-file" value="TerminalAppTests-preparer.sh" />
     </target_preparer>
 
-    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
-        <option name="throw-if-cmd-fail" value="true" />
-        <option name="run-command"
-            value="pm enable com.google.android.virtualization.terminal/com.android.virtualization.terminal.MainActivity" />
-        <option name="teardown-command"
-            value="pm disable com.google.android.virtualization.terminal/com.android.virtualization.terminal.MainActivity" />
-    </target_preparer>
-
     <test class="com.android.tradefed.testtype.AndroidJUnitTest">
         <option name="package" value="com.android.virtualization.terminal.test"/>
         <option name="runner" value="androidx.test.runner.AndroidJUnitRunner"/>
diff --git a/tests/Terminal/TerminalAppTests-preparer.sh b/tests/Terminal/TerminalAppTests-preparer.sh
index de25af3..6022d7d 100644
--- a/tests/Terminal/TerminalAppTests-preparer.sh
+++ b/tests/Terminal/TerminalAppTests-preparer.sh
@@ -17,6 +17,11 @@
 set -e
 
 serial=${ANDROID_SERIAL}
+user=$(adb -s ${serial} shell am get-current-user)
+
+# Enable the terminal app
+package_name=$(adb -s ${serial} shell pm list package virtualization.terminal | cut -d ':' -f 2)
+adb -s ${serial} shell pm enable --user ${user} ${package_name}
 
 # Identify file to download
 arch=$(adb -s ${serial} shell getprop ro.bionic.arch)
@@ -31,7 +36,6 @@
 wget ${src} -O ${downloaded}
 
 # Push the file to the device
-user=$(adb -s ${serial} shell am get-current-user)
 dst=/data/media/${user}/linux
 adb -s ${serial} shell mkdir -p ${dst}
 adb -s ${serial} push ${downloaded} ${dst}/images.tar.gz
diff --git a/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java b/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
index ceebb52..e2ee381 100644
--- a/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
+++ b/tests/benchmark/src/java/com/android/microdroid/benchmark/MicrodroidBenchmarks.java
@@ -594,7 +594,7 @@
         @Override
         public void onPayloadReady(VirtualMachine vm, IBenchmarkService service)
                 throws RemoteException {
-            int vmPid = ProcessUtil.getCrosvmPid(Os.getpid(), mShellExecutor);
+            int vmPid = ProcessUtil.getCrosvmPid(Os.getpid(), "test_vm_mem_usage", mShellExecutor);
 
             mMemTotal = service.getMemInfoEntry("MemTotal");
             mMemFree = service.getMemInfoEntry("MemFree");
@@ -668,7 +668,8 @@
         @SuppressWarnings("ReturnValueIgnored")
         public void onPayloadReady(VirtualMachine vm, IBenchmarkService service)
                 throws RemoteException {
-            int vmPid = ProcessUtil.getCrosvmPid(Os.getpid(), mShellExecutor);
+            int vmPid =
+                    ProcessUtil.getCrosvmPid(Os.getpid(), "test_vm_mem_reclaim", mShellExecutor);
 
             // Allocate 256MB of anonymous memory. This will fill all guest
             // memory and cause swapping to start.
diff --git a/tests/helper/src/java/com/android/microdroid/test/common/ProcessUtil.java b/tests/helper/src/java/com/android/microdroid/test/common/ProcessUtil.java
index c4aba81..c544b77 100644
--- a/tests/helper/src/java/com/android/microdroid/test/common/ProcessUtil.java
+++ b/tests/helper/src/java/com/android/microdroid/test/common/ProcessUtil.java
@@ -127,9 +127,10 @@
         return getSingleChildProcess(parentPid, VIRTMGR_BIN, shellExecutor);
     }
 
-    public static int getCrosvmPid(int parentPid, Function<String, String> shellExecutor) {
+    public static int getCrosvmPid(
+            int parentPid, String testName, Function<String, String> shellExecutor) {
         int virtmgrPid = getVirtmgrPid(parentPid, shellExecutor);
-        return getSingleChildProcess(virtmgrPid, CROSVM_BIN, shellExecutor);
+        return getSingleChildProcess(virtmgrPid, "crosvm_" + testName, shellExecutor);
     }
 
     // To ensures that only one object is created at a time.
