diff --git a/app/src/main/java/org/opencord/sadis/impl/SadisConfig.java b/app/src/main/java/org/opencord/sadis/impl/SadisConfig.java
index c7efc21..42a11af 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SadisConfig.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SadisConfig.java
@@ -48,7 +48,6 @@
  *     "integration" : {
  *         "url" : "http://{hostname}{:port}",
  *         "cache" : {
- *             "enable"   : true or false,
  *             "maxsize"  : number of entries,
  *             "entryttl" : duration, i.e. 10s or 1m
  *         }
@@ -77,7 +76,6 @@
 
     private static final String SADIS_INTEGRATION = "integration";
     private static final String SADIS_CACHE = "cache";
-    private static final String SADIS_CACHE_ENABLED = "enabled";
     private static final String SADIS_CACHE_SIZE = "maxsize";
     private static final String SADIS_CACHE_TTL = "ttl";
     private static final String SADIS_URL = "url";
@@ -105,26 +103,6 @@
         return new URL(url.asText());
     }
 
-    /**
-     * Returns configuration if cache should be used or not. Only used if
-     * integration URL is set.
-     *
-     * @return if cache should be used
-     */
-    public Boolean getCacheEnabled() {
-        final JsonNode integration = this.object.path(SADIS_INTEGRATION);
-        if (integration.isMissingNode()) {
-            return false;
-        }
-
-        final JsonNode cache = integration.path(SADIS_CACHE);
-        if (cache.isMissingNode()) {
-            return false;
-        }
-
-        return cache.path(SADIS_CACHE_ENABLED).asBoolean(false);
-    }
-
     public int getCacheMaxSize() {
         final JsonNode integration = this.object.path(SADIS_INTEGRATION);
         if (integration.isMissingNode()) {
diff --git a/app/src/main/java/org/opencord/sadis/impl/SadisManager.java b/app/src/main/java/org/opencord/sadis/impl/SadisManager.java
index 37114bd..cd5d0b2 100644
--- a/app/src/main/java/org/opencord/sadis/impl/SadisManager.java
+++ b/app/src/main/java/org/opencord/sadis/impl/SadisManager.java
@@ -105,7 +105,6 @@
             this.log.warn("Subscriber And Device Information Service (SADIS) configuration not available");
             return;
         }
-        this.log.info("Cache Enabled:  {}", cfg.getCacheEnabled());
         this.log.info("Cache Mac Size: {}", cfg.getCacheMaxSize());
         this.log.info("Cache TTL:      {}", cfg.getCacheTtl().getSeconds());
         this.log.info("Entries:        {}", cfg.getEntries());
diff --git a/app/src/test/java/org/opencord/sadis/impl/SadisManagerTest.java b/app/src/test/java/org/opencord/sadis/impl/SadisManagerTest.java
index d0a2a0e..693b30e 100644
--- a/app/src/test/java/org/opencord/sadis/impl/SadisManagerTest.java
+++ b/app/src/test/java/org/opencord/sadis/impl/SadisManagerTest.java
@@ -96,7 +96,6 @@
     @Test
     public void testConfiguration() {
         SadisConfig config = sadis.cfgService.getConfig(null, SadisConfig.class);
-        assertEquals(true, config.getCacheEnabled());
         assertEquals(50, config.getCacheMaxSize());
         assertEquals(Duration.parse("PT1m"), config.getCacheTtl());
         List<SubscriberAndDeviceInformation> entries = config.getEntries();
diff --git a/app/src/test/resources/LocalConfig.json b/app/src/test/resources/LocalConfig.json
index b855239..d76de2b 100644
--- a/app/src/test/resources/LocalConfig.json
+++ b/app/src/test/resources/LocalConfig.json
@@ -3,7 +3,6 @@
 	{
 		"cache":
 		{
-			"enabled": true,
 			"maxsize": 50,
 			"ttl": "PT1m"
 		}
diff --git a/app/src/test/resources/RemoteConfig.json b/app/src/test/resources/RemoteConfig.json
index 50715ff..b708fbc 100644
--- a/app/src/test/resources/RemoteConfig.json
+++ b/app/src/test/resources/RemoteConfig.json
@@ -2,7 +2,6 @@
   "integration": {
     "url": "file:src/test/resources",
     "cache": {
-      "enabled": true,
       "maxsize": 50,
       "ttl": "PT1m"
     }
