diff --git a/CHANGELOG b/CHANGELOG
index fe781357f5d95f0f957303a7386123976300e183..a6960a485808794fac50e4cb1455d2fc8ed28b8b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -8,6 +8,8 @@ minerva (12.2.1) stable; urgency=medium
     privileges (#766)
   * Bug fix: invalid pubmed identifier could break clicking on element 
     containing it (#764, #765, #769)
+  * Bug fix: cache for API queries is explicitly disabled - some queries could 
+    be mistakenly cached and the system behaviour might get unstable (#771)
 
  -- Piotr Gawron <piotr.gawron@uni.lu>  Mon, 1 Apr 2019 17:00:00 +0200
 
diff --git a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
index 1d490fc98a6a2616d541f423891a4a250628782b..c09fdbea38caab127cab317cf67ac6ba2bfde026 100644
--- a/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
+++ b/web/src/main/java/lcsb/mapviewer/web/bean/utils/ApiAccessControlFilter.java
@@ -13,7 +13,7 @@ import javax.servlet.http.HttpServletResponse;
 import org.apache.log4j.Logger;
 
 /**
- * This filter enables x-frames from another domain if necessary.
+ * This filter disables caching for API queries.
  * 
  * @author Piotr Gawron
  *
@@ -33,7 +33,12 @@ public class ApiAccessControlFilter implements Filter {
   public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
       throws IOException, ServletException {
     HttpServletResponse response = (HttpServletResponse) res;
+    //caching on Safari
     response.addHeader("Vary", "*");
+    // generic cache prevent mechanism
+    response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate");
+    response.addHeader("Pragma", "no-cache");
+    response.addHeader("Expires", "0");
     chain.doFilter(req, response);
   }