diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
index d5f2761..619b2ab 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/impl/AbstractInternalKdcServer.java
@@ -20,11 +20,9 @@
 package org.apache.kerby.kerberos.kerb.server.impl;
 
 import org.apache.kerby.kerberos.kerb.KrbException;
-import org.apache.kerby.kerberos.kerb.identity.CacheableIdentityService;
 import org.apache.kerby.kerberos.kerb.identity.IdentityService;
-import org.apache.kerby.kerberos.kerb.identity.backend.IdentityBackend;
-import org.apache.kerby.kerberos.kerb.identity.backend.MemoryIdentityBackend;
 import org.apache.kerby.kerberos.kerb.identity.backend.BackendConfig;
+import org.apache.kerby.kerberos.kerb.identity.backend.IdentityBackend;
 import org.apache.kerby.kerberos.kerb.server.KdcConfig;
 import org.apache.kerby.kerberos.kerb.server.KdcSetting;
 import org.apache.kerby.kerberos.kerb.server.KdcUtil;
@@ -38,7 +36,6 @@
     private final BackendConfig backendConfig;
     private final KdcSetting kdcSetting;
     private IdentityBackend backend;
-    private IdentityService identityService;
 
     public AbstractInternalKdcServer(KdcSetting kdcSetting) {
         this.kdcSetting = kdcSetting;
@@ -60,15 +57,7 @@
     }
 
     protected IdentityService getIdentityService() {
-        if (identityService == null) {
-            if (backend instanceof MemoryIdentityBackend) { // Already in memory
-                identityService = backend;
-            } else {
-                identityService = new CacheableIdentityService(
-                        backendConfig, backend);
-            }
-        }
-        return identityService;
+        return backend;
     }
 
     @Override
