diff --git a/tests/src/com/android/providers/contacts/ContactsActor.java b/tests/src/com/android/providers/contacts/ContactsActor.java
index 35f279e..7185368 100644
--- a/tests/src/com/android/providers/contacts/ContactsActor.java
+++ b/tests/src/com/android/providers/contacts/ContactsActor.java
@@ -325,12 +325,23 @@
             String authority, Context providerContext) throws Exception {
         T provider = providerClass.newInstance();
         ProviderInfo info = new ProviderInfo();
-        info.authority = authority;
+
+        // Here, authority can have "user-id@".  We want to use it for addProvider, but provider
+        // info shouldn't have it.
+        info.authority = stripOutUserIdFromAuthority(authority);
         provider.attachInfoForTesting(providerContext, info);
         resolver.addProvider(authority, provider);
         return provider;
     }
 
+    /**
+     * Takes an provider authority. If it has "userid@", then remove it.
+     */
+    private String stripOutUserIdFromAuthority(String authority) {
+        final int pos = authority.indexOf('@');
+        return pos < 0 ? authority : authority.substring(pos + 1);
+    }
+
     public void addPermissions(String... permissions) {
         mGrantedPermissions.addAll(Arrays.asList(permissions));
     }
diff --git a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
index 11d9b57..48abaff 100644
--- a/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
+++ b/tests/src/com/android/providers/contacts/ContactsProvider2Test.java
@@ -1775,6 +1775,8 @@
 
     /**
      * Set up the corp user / CP2 and returns the corp CP2 instance.
+     *
+     * Create a second instance of CP2, and add it to the resolver, with the "user-id@" authority.
      */
     private SynchronousContactsProvider2 setUpCorpProvider() throws Exception {
         mActor.mockUserManager.setUsers(MockUserManager.PRIMARY_USER, MockUserManager.CORP_USER);
