diff --git a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ItsRulesProjectCacheRefresher.java b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ItsRulesProjectCacheRefresher.java
index cd119a4..4cbd3d2 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ItsRulesProjectCacheRefresher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/its/base/workflow/ItsRulesProjectCacheRefresher.java
@@ -1,22 +1,39 @@
 package com.googlesource.gerrit.plugins.its.base.workflow;
 
+import com.google.gerrit.extensions.api.GerritApi;
+import com.google.gerrit.extensions.common.ProjectInfo;
 import com.google.gerrit.extensions.events.GitReferenceUpdatedListener;
+import com.google.gerrit.extensions.restapi.RestApiException;
 import com.google.gerrit.reviewdb.client.RefNames;
 import com.google.inject.Inject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class ItsRulesProjectCacheRefresher implements GitReferenceUpdatedListener {
+  private static final Logger log = LoggerFactory.getLogger(ItsRulesProjectCacheRefresher.class);
 
+  private final GerritApi gApi;
   private final ItsRulesProjectCache itsRuleProjectCache;
 
   @Inject
-  ItsRulesProjectCacheRefresher(ItsRulesProjectCache itsRuleProjectCache) {
+  ItsRulesProjectCacheRefresher(GerritApi gApi, ItsRulesProjectCache itsRuleProjectCache) {
+    this.gApi = gApi;
     this.itsRuleProjectCache = itsRuleProjectCache;
   }
 
   @Override
   public void onGitReferenceUpdated(Event event) {
-    if (event.getRefName().equals(RefNames.REFS_CONFIG)) {
-      itsRuleProjectCache.evict(event.getProjectName());
+    if (!event.getRefName().equals(RefNames.REFS_CONFIG)) {
+      return;
+    }
+    String projectName = event.getProjectName();
+    itsRuleProjectCache.evict(projectName);
+    try {
+      for (ProjectInfo childProject : gApi.projects().name(projectName).children()) {
+        itsRuleProjectCache.evict(childProject.name);
+      }
+    } catch (RestApiException e) {
+      log.warn("Unable to evict ITS rules cache", e);
     }
   }
 }
