diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
index 9454455..987372b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolver.java
@@ -99,8 +99,8 @@
     try {
       AccountResolver.Result result =
           ignoreAccountVisibility
-              ? accountResolver.resolveIgnoreVisibility(accountName)
-              : accountResolver.resolve(accountName);
+              ? accountResolver.resolveExactIgnoreVisibility(accountName)
+              : accountResolver.resolveExact(accountName);
       if (result.asList().size() == 1) {
         Account.Id id = result.asList().get(0).account().id();
         if (uploader == null || id.get() != uploader._accountId) {
diff --git a/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolverIT.java b/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolverIT.java
index 76d5b2b..4b2f47a 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolverIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/reviewers/ReviewersResolverIT.java
@@ -115,6 +115,22 @@
     assertThat(reviewers).containsExactly(system.id(), foo.id(), bar.id(), baz.id(), qux.id());
   }
 
+  @Test
+  public void accountExactResolve() throws Exception {
+    String username = "user1";
+    String almostMatchingUsername = "user";
+    accountCreator.create(username);
+
+    Set<Account.Id> reviewers =
+        resolver.resolve(
+            ImmutableSet.of(almostMatchingUsername),
+            project,
+            change,
+            gApi.accounts().id(admin.id().get()).get(),
+            false);
+    assertThat(reviewers).isEmpty();
+  }
+
   private TestAccount createTestAccount(String name, String group) throws Exception {
     name = name(name);
     return accountCreator.create(name, name + "@example.com", name + " full name", null, group);
