diff --git a/javatests/com/google/gerrit/acceptance/api/project/AccessIT.java b/javatests/com/google/gerrit/acceptance/api/project/AccessIT.java
index a2c96b6..6bd2b68 100644
--- a/javatests/com/google/gerrit/acceptance/api/project/AccessIT.java
+++ b/javatests/com/google/gerrit/acceptance/api/project/AccessIT.java
@@ -75,6 +75,7 @@
 import org.eclipse.jgit.junit.TestRepository;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.Constants;
+import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.RefUpdate;
 import org.eclipse.jgit.lib.RefUpdate.Result;
 import org.eclipse.jgit.lib.Repository;
@@ -268,8 +269,11 @@
     ProjectAccessInput accessInput = newProjectAccessInput();
     AccessSectionInfo accessSectionInfo = createDefaultAccessSectionInfo();
 
+    // Update project config. Record the file content and the refs_config object ID
     accessInput.add.put(REFS_HEADS, accessSectionInfo);
     pApi().access(accessInput);
+    ObjectId refsConfigId =
+        projectOperations.project(newProjectName).getHead(RefNames.REFS_CONFIG).getId();
     List<String> projectConfigLines =
         Arrays.asList(projectOperations.project(newProjectName).getConfig().toText().split("\n"));
     assertThat(projectConfigLines)
@@ -281,12 +285,15 @@
             "\tlabel-Code-Review = -1..+1 group Project Owners",
             "\tpush = group Registered Users");
 
-    // Apply the same permission once more
+    // Apply the same update once more. Make sure that the file content and the ref did not change
     pApi().access(accessInput);
 
     List<String> newProjectConfigLines =
         Arrays.asList(projectOperations.project(newProjectName).getConfig().toText().split("\n"));
+    ObjectId newRefsConfigId =
+        projectOperations.project(newProjectName).getHead(RefNames.REFS_CONFIG).getId();
     assertThat(projectConfigLines).isEqualTo(newProjectConfigLines);
+    assertThat(refsConfigId).isEqualTo(newRefsConfigId);
   }
 
   @Test
