diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcher.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcher.java
index baf512f..ac6ea4c 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcher.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcher.java
@@ -26,7 +26,7 @@
 @Singleton
 class CachePatternMatcher {
   private static final List<String> DEFAULT_PATTERNS =
-      ImmutableList.of("^groups.*", "ldap_usernames", "projects", "sshkeys");
+      ImmutableList.of("^groups.*", "ldap_usernames", "projects", "sshkeys", "tokens");
 
   private final Pattern pattern;
 
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/Constants.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/Constants.java
index b456998..d4fab98 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/Constants.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/cache/Constants.java
@@ -22,6 +22,7 @@
   public static final String GROUPS_BYINCLUDE = "groups_byinclude";
   public static final String GROUPS_MEMBERS = "groups_members";
   public static final String PROJECTS = "projects";
+  public static final String TOKENS = "tokens";
 
   private Constants() {}
 }
diff --git a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheKeyJsonParser.java b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheKeyJsonParser.java
index ba28650..b8f5e9c 100644
--- a/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheKeyJsonParser.java
+++ b/src/main/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheKeyJsonParser.java
@@ -44,6 +44,7 @@
     // Need to add a case for 'adv_bases'
     switch (cacheName) {
       case Constants.ACCOUNTS:
+      case Constants.TOKENS:
         return id.get() == null ? null : Account.id(id.get().getAsInt());
       case Constants.GROUPS:
         return id.get() == null ? null : AccountGroup.id(id.get().getAsInt());
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcherTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcherTest.java
index caf50b9..088b42e 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcherTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/cache/CachePatternMatcherTest.java
@@ -47,6 +47,7 @@
             "ldap_usernames",
             "projects",
             "sshkeys",
+            "tokens",
             "my_cache_a",
             "my_cache_b",
             "other")) {
diff --git a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java
index e4ffd59..58c0aef 100644
--- a/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java
+++ b/src/test/java/com/ericsson/gerrit/plugins/highavailability/forwarder/rest/CacheRestApiServletTest.java
@@ -87,6 +87,12 @@
   }
 
   @Test
+  public void evictTokensCache() throws Exception {
+    configureMocksFor(Constants.TOKENS);
+    verifyResponseIsOK();
+  }
+
+  @Test
   public void evictDefault() throws Exception {
     configureMocksFor(Constants.PROJECTS);
     verifyResponseIsOK();
@@ -134,6 +140,8 @@
     } else if (Constants.GROUPS_BYINCLUDE.equals(cacheName)
         || Constants.GROUPS_MEMBERS.equals(cacheName)) {
       when(readerMock.readLine()).thenReturn("{\"uuid\":\"abcd1234\"}");
+    } else if (Constants.TOKENS.equals(cacheName)) {
+      when(readerMock.readLine()).thenReturn("{\"id\":\"1234\"}");
     } else {
       when(readerMock.readLine()).thenReturn("{}");
     }
