diff --git a/conf/core/server.conf b/conf/core/server.conf
index c3cf62bafe6951f1b1412e648ea2eb10f469a2a4..a2be9e0dc7c216ded4c4b61de23818c8f91e2258 100644
--- a/conf/core/server.conf
+++ b/conf/core/server.conf
@@ -49,6 +49,7 @@ BUGTRACKER_URI=
 
 TRANSACTION_BENCHMARK_ENABLED=true
 CACHE_CONF_LOC=./conf/core/cache.ccf
+CACHE_DISABLE=false
 
 INSERT_FILES_IN_DIR_ALLOWED_DIRS=
 
diff --git a/src/main/java/caosdb/server/ServerProperties.java b/src/main/java/caosdb/server/ServerProperties.java
index e68016894d65a3b77e38aa2f84f48ece7db05683..292d99e7ff6eedf39d0aee71b5f2df0f879b6a64 100644
--- a/src/main/java/caosdb/server/ServerProperties.java
+++ b/src/main/java/caosdb/server/ServerProperties.java
@@ -91,6 +91,7 @@ public class ServerProperties extends Properties {
   public static final String KEY_ACTIVATION_TIMEOUT_MS = "ACTIVATION_TIMEOUT_MS";
 
   public static final String KEY_CACHE_CONF_LOC = "CACHE_CONF_LOC";
+  public static final String KEY_CACHE_DISABLE = "CACHE_DISABLE";
 
   public static final String KEY_TRANSACTION_BENCHMARK_ENABLED = "TRANSACTION_BENCHMARK_ENABLED";
 
diff --git a/src/main/java/caosdb/server/caching/JCSCacheHelper.java b/src/main/java/caosdb/server/caching/JCSCacheHelper.java
index 55efaa191bcb777bd63881dfbd72cd292808064c..1ce455a949bcfb76a36815b3b14bcea89e676a4a 100644
--- a/src/main/java/caosdb/server/caching/JCSCacheHelper.java
+++ b/src/main/java/caosdb/server/caching/JCSCacheHelper.java
@@ -62,25 +62,32 @@ public class JCSCacheHelper implements CacheHelper {
   }
 
   public static void init() {
-    init(CaosDBServer.getServerProperty(ServerProperties.KEY_CACHE_CONF_LOC));
+    final boolean disabled =
+        Boolean.parseBoolean(CaosDBServer.getServerProperty(ServerProperties.KEY_CACHE_DISABLE));
+    init(CaosDBServer.getServerProperty(ServerProperties.KEY_CACHE_CONF_LOC), disabled);
   }
 
-  public static void init(String configFileLocation) {
+  public static void init(String configFileLocation, boolean disabled) {
     Properties config = null;
-    try {
-      Properties p = new Properties();
-      final InputStream is = new FileInputStream(configFileLocation);
-      p.load(is);
-      is.close();
-      config = p;
-    } catch (final FileNotFoundException e) {
-      logger.error(e);
-      config = getNOPCachingProperties();
-    } catch (final IOException e) {
-      logger.error(e);
+    if (disabled) {
       config = getNOPCachingProperties();
+      logger.info("Configuring JCS Caching: disabled");
+    } else {
+      try {
+        Properties p = new Properties();
+        final InputStream is = new FileInputStream(configFileLocation);
+        p.load(is);
+        is.close();
+        config = p;
+      } catch (final FileNotFoundException e) {
+        logger.error(e);
+        config = getNOPCachingProperties();
+      } catch (final IOException e) {
+        logger.error(e);
+        config = getNOPCachingProperties();
+      }
+      logger.info("Configuring JCS Caching with {}", config);
     }
-    logger.info("Configuring JCS Caching with {}", config);
     JCS.setConfigProperties(config);
   }
 
diff --git a/src/test/java/caosdb/server/caching/TestNoCaching.java b/src/test/java/caosdb/server/caching/TestNoCaching.java
new file mode 100644
index 0000000000000000000000000000000000000000..dfab9de67b8c79871b6d2fd70fc6e25a1c231230
--- /dev/null
+++ b/src/test/java/caosdb/server/caching/TestNoCaching.java
@@ -0,0 +1,29 @@
+package caosdb.server.caching;
+
+import static org.junit.Assert.assertEquals;
+
+import caosdb.server.CaosDBServer;
+import caosdb.server.ServerProperties;
+import caosdb.server.database.backend.transaction.RetrieveProperties;
+import java.io.IOException;
+import org.apache.commons.jcs.JCS;
+import org.apache.commons.jcs.access.CacheAccess;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class TestNoCaching {
+
+  @BeforeClass
+  public static void init() throws IOException {
+    CaosDBServer.initServerProperties();
+    CaosDBServer.setProperty(ServerProperties.KEY_CACHE_DISABLE, "TRUE");
+    JCSCacheHelper.init();
+  }
+
+  @Test
+  public void testCacheConfig() {
+    CacheAccess<String, String> retrieve_properties_cache =
+        JCS.getInstance(RetrieveProperties.CACHE_REGION);
+    assertEquals(0, retrieve_properties_cache.getCacheAttributes().getMaxObjects());
+  }
+}