diff --git a/admin/warm-cache-1.0.groovy b/admin/warm-cache-1.0.groovy
index 26b480c..5b1d75b 100644
--- a/admin/warm-cache-1.0.groovy
+++ b/admin/warm-cache-1.0.groovy
@@ -15,6 +15,9 @@
 import com.google.gerrit.sshd.*
 import com.google.gerrit.extensions.annotations.*
 import com.google.gerrit.server.project.*
+import com.google.gerrit.server.account.*
+import com.google.gerrit.reviewdb.client.AccountGroup
+import com.google.gerrit.reviewdb.server.ReviewDb
 import com.google.inject.*
 import org.kohsuke.args4j.*
 
@@ -98,5 +101,39 @@
   }
 }
 
-commands = [ WarmProjectsCache, WarmGroupsCache ]
+@Export("accounts")
+class WarmAccountsCache extends BaseSshCommand {
+
+  @Inject
+  AccountCache cache
+
+  @Inject
+  AccountByEmailCache cacheByEmail
+
+  @Inject
+  Provider<ReviewDb> db
+
+  public void run() {
+    println "Loading accounts ..."
+    def start = System.currentTimeMillis()
+    def allAccounts = db.get().accounts().all()
+    def loaded = 0
+
+    for (account in allAccounts) {
+      cache.get(account.accountId)
+      if (account.preferredEmail != null) {
+        cacheByEmail.get(account.preferredEmail)
+      }
+      loaded++
+      if (loaded%1000==0) {
+        println "$loaded accounts"
+      }
+    }
+
+    def elapsed = (System.currentTimeMillis()-start)/1000
+    println "$loaded accounts loaded in $elapsed secs"
+  }
+}
+
+commands = [ WarmProjectsCache, WarmGroupsCache, WarmAccountsCache ]
 
