diff --git a/apps/CtsVerifier/res/layout/tapjacking.xml b/apps/CtsVerifier/res/layout/tapjacking.xml
index 6e5ca73..998e624 100644
--- a/apps/CtsVerifier/res/layout/tapjacking.xml
+++ b/apps/CtsVerifier/res/layout/tapjacking.xml
@@ -31,8 +31,7 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"
-                    android:layout_alignParentTop="true"
-                    android:text="@string/usb_tapjacking_test_instructions" />
+                    android:layout_alignParentTop="true" />
 
             <Button android:id="@+id/tapjacking_btn"
                     android:text="@string/usb_tapjacking_button_text"
diff --git a/apps/CtsVerifier/res/values-watch/strings.xml b/apps/CtsVerifier/res/values-watch/strings.xml
index 7fb22e9..ca06686 100644
--- a/apps/CtsVerifier/res/values-watch/strings.xml
+++ b/apps/CtsVerifier/res/values-watch/strings.xml
@@ -59,4 +59,5 @@
         6) Unlock the device.\n
         7) Repeat steps (1) through (6) for each screen lock type other than \"None\".
     </string>
+    <string name="usb_tapjacking_usb_debugging_component">com.google.android.apps.wearable.settings/com.google.android.clockwork.settings.SecureAdbActivityAlias</string>
 </resources>
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index 797d855..1610338 100755
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -1085,12 +1085,13 @@
     <string name="usb_tapjacking_test_instructions">
         1. Connect device via usb to computer.\n
         2. Click \"Show overlay\" button.  Settings may appear if the CTS Verifier app doesn\'t have display over apps permission.  Enable this permission and then click back to navigate back to the app.\n
-        3. Trigger USB debugging dialog (from computer terminal): \"adb shell am start -e fingerprints placeholder -e key placeholder com.android.systemui/.UsbDebuggingActivityAlias\"\n
+        3. Trigger USB debugging dialog (from computer terminal): \"adb shell am start -e fingerprints placeholder -e key placeholder %s\"\n
         4. USB debugging dialog should appear.  If the overlay cannot be seen above the USB debugging dialog, PASS this test (no need to proceed to Step 5).  Else, if the overlay does appear on top saying \"This message covers the USB debugging RSA prompt\", continue to Step 5.\n
         5. Try clicking OK. \n
         Test pass if you cannot click OK when the text quoted above is on top of the USB debugging dialog.  Toast should appear saying there is an overlay so Settings cannot verify your response. \n
         Note: Fake message overlay may remain on screen until you leave the test. This is working as intended. \n
     </string>
+    <string name="usb_tapjacking_usb_debugging_component">com.android.systemui/.UsbDebuggingActivityAlias</string>
     <string name="usb_tapjacking_overlay_message">This message covers the USB debugging RSA prompt</string>
     <string name="usb_tapjacking_error_toast">Please restart the application and try again.</string>
     <string name="usb_tapjacking_error_toast2">Please enable display over apps permission for this application before proceeding.</string>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/admin/tapjacking/UsbTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/admin/tapjacking/UsbTest.java
index 17319d6..6371857 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/admin/tapjacking/UsbTest.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/admin/tapjacking/UsbTest.java
@@ -17,6 +17,7 @@
 package com.android.cts.verifier.admin.tapjacking;
 
 import android.content.Intent;
+import android.content.res.Resources;
 import android.graphics.PixelFormat;
 import android.os.Bundle;
 import android.provider.Settings;
@@ -26,6 +27,7 @@
 import android.view.ViewGroup;
 import android.view.WindowManager;
 import android.widget.Button;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.android.cts.verifier.PassFailButtons;
@@ -33,6 +35,7 @@
 
 public class UsbTest extends PassFailButtons.Activity {
     private View mOverlay;
+    private TextView mUsbTapjackingInstructions;
     private Button mTriggerOverlayButton;
 
     public static final String LOG_TAG = "UsbTest";
@@ -45,8 +48,12 @@
         setInfoResources(R.string.usb_tapjacking_test,
                 R.string.usb_tapjacking_test_info, -1);
 
+        String usbDebuggingComponent = getString(R.string.usb_tapjacking_usb_debugging_component);
+        mUsbTapjackingInstructions = findViewById(R.id.usb_tapjacking_instructions);
+        mUsbTapjackingInstructions.setText(
+                getString(R.string.usb_tapjacking_test_instructions, usbDebuggingComponent));
         //initialise the escalate button and set a listener
-        mTriggerOverlayButton = (Button) findViewById(R.id.tapjacking_btn);
+        mTriggerOverlayButton = findViewById(R.id.tapjacking_btn);
         mTriggerOverlayButton.setEnabled(true);
         mTriggerOverlayButton.setOnClickListener(new View.OnClickListener() {
             @Override
