diff --git a/CHANGELOG b/CHANGELOG
index 235be914f32f8c49f61d102059ef84afde4ee26b..48079081d65628286e3da26601dbe6a6daa8f641 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,8 @@
+minerva (17.1.4) unstable; urgency=medium
+  * Bug fix: drug that has been removed from chembl caused issue (#2085)
+
+ -- Piotr Gawron <piotr.gawron@uni.lu>  Thu, 19 Sep 2024 15:00:00 +0200
+
 minerva (17.1.3) unstable; urgency=medium
   * Bug fix: not all links were provided on map (#2073)
 
diff --git a/CellDesigner-plugin/pom.xml b/CellDesigner-plugin/pom.xml
index f31118830e078743fbd95a7939b83b58d62aae67..60cbdd31871cfe9d0850b86cc09d86ce2eb0628e 100644
--- a/CellDesigner-plugin/pom.xml
+++ b/CellDesigner-plugin/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>CellDesigner-plugin</artifactId>
 	<!-- dependency from the MapViewer model -->
@@ -50,19 +50,19 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>commons</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
diff --git a/annotation/pom.xml b/annotation/pom.xml
index 84d4988a995eaacf2c4067520879c00d8986ada1..9158f7822cb8457add2f10bdbf22ed0e0ff1f48c 100644
--- a/annotation/pom.xml
+++ b/annotation/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>annotation</artifactId>
 	<name>Annotation module</name>
@@ -19,7 +19,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer dao -->
@@ -27,7 +27,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer cell designer parser (we need access 
@@ -35,13 +35,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParserImpl.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParserImpl.java
index ec4f4bea5c962ad3edb2b2088be93eb405a12199..0cf98c7500786c9fbbec4f2c1c879d3975ebf888 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParserImpl.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/ChEMBLParserImpl.java
@@ -1,24 +1,5 @@
 package lcsb.mapviewer.annotation.services;
 
-import java.io.IOException;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.lang3.SerializationException;
-import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
 import lcsb.mapviewer.annotation.cache.QueryCacheInterface;
 import lcsb.mapviewer.annotation.cache.SourceNotAvailable;
 import lcsb.mapviewer.annotation.data.Drug;
@@ -34,15 +15,32 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.common.exception.InvalidXmlSchemaException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamType;
+import org.apache.commons.lang3.SerializationException;
+import org.apache.commons.lang3.math.NumberUtils;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.w3c.dom.Document;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
 
 /**
  * Class used for accessing and parsing data from chembl database using
  * <a href="https://www.ebi.ac.uk/chembl/ws">ChEMBL Data Web Services</a>.
  * Parser was initially developed by Janek, but after new API released by ebi it
  * was refactored by Piotr.
- * 
+ *
  * @author Piotr Gawron
- * 
  */
 @Service
 @Transactional
@@ -101,7 +99,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Default class logger.
    */
-  private Logger logger = LogManager.getLogger();
+  private final Logger logger = LogManager.getLogger();
 
   /**
    * Service used for annotation of proteins using {@link MiriamType#UNIPROT
@@ -114,7 +112,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
    */
   private HgncAnnotator hgncAnnotator;
 
-  private DoubleComparator doubleComparator = new DoubleComparator();
+  private final DoubleComparator doubleComparator = new DoubleComparator();
 
   /**
    * Constructor.
@@ -129,11 +127,9 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Returns target for given chembl identifier.
    *
-   * @param md
-   *          {@link MiriamType#CHEMBL_TARGET chembl identifier} of the target
+   * @param md {@link MiriamType#CHEMBL_TARGET chembl identifier} of the target
    * @return target
-   * @throws DrugSearchException
-   *           thrown when there are problems with connection to ChEMBL database
+   * @throws DrugSearchException thrown when there are problems with connection to ChEMBL database
    */
   @Override
   public Target getTargetFromId(final MiriamData md) throws DrugSearchException {
@@ -229,12 +225,9 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
    * Parse node of target component to get information about
    * {@link MiriamType#HGNC_SYMBOL} identifier.
    *
-   * @param targetComponent
-   *          xml node to parse
-   * @return {@link MiriamData} with {@link MiriamType#HGNC_SYMBOL} identifier
-   *         that could be extracted from input data
-   * @throws DrugSearchException
-   *           thrown when there is a problem with annotations
+   * @param targetComponent xml node to parse
+   * @return {@link MiriamData} with {@link MiriamType#HGNC_SYMBOL} identifier that could be extracted from input data
+   * @throws DrugSearchException thrown when there is a problem with annotations
    */
   @Override
   public MiriamData targetComponentToMiriamData(final Node targetComponent) throws DrugSearchException {
@@ -259,11 +252,9 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Returns list of targets for given drug.
    *
-   * @param drugId
-   *          identifier of a drug for which targets are looked
+   * @param drugId identifier of a drug for which targets are looked
    * @return list of targets for given drug
-   * @throws DrugSearchException
-   *           thrown when there are problems with connection to ChEMBL database
+   * @throws DrugSearchException thrown when there are problems with connection to ChEMBL database
    */
   @Override
   public List<Target> getTargetsByDrugId(final MiriamData drugId) throws DrugSearchException {
@@ -309,8 +300,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Parse xml node with references.
    *
-   * @param referenceNode
-   *          node with references
+   * @param referenceNode node with references
    * @return list of references obtained from xml node
    */
   @Override
@@ -329,7 +319,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
               result.add(new MiriamData(MiriamType.PUBMED, id));
             }
           } else {
-            logger.warn("Unknown node: " + node.getNodeName());
+            logger.warn("Unknown node: {}", node.getNodeName());
           }
         }
       }
@@ -487,13 +477,11 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
    * Parse xml node representing drug and returns drug with information obtained
    * from there and other places in chembl API.
    *
-   * @param node
-   *          xml node representing drug, sample can be found <a href=
-   *          "https://www.ebi.ac.uk/chembl/api/data/molecule?molecule_chembl_id=CHEMBL2068724">
-   *          here</a> (molecule subnode):
+   * @param node xml node representing drug, sample can be found <a href=
+   *             "https://www.ebi.ac.uk/chembl/api/data/molecule?molecule_chembl_id=CHEMBL2068724">
+   *             here</a> (molecule subnode):
    * @return {@link Drug} obtained from xml node
-   * @throws DrugSearchException
-   *           thrown when there is a problem with accessing chembl database
+   * @throws DrugSearchException thrown when there is a problem with accessing chembl database
    */
   private Drug parseDrug(final Node node) throws DrugSearchException {
     Drug drug = new Drug();
@@ -523,11 +511,9 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Get targets for chembl children nodes.
    *
-   * @param drugId
-   *          id of the parent drug
+   * @param drugId id of the parent drug
    * @return list of drug targets for children molecules in chembl ontology
-   * @throws DrugSearchException
-   *           thrown when there is a problemw ith processing request
+   * @throws DrugSearchException thrown when there is a problemw ith processing request
    */
   @Override
   public List<Target> getTargetsForChildElements(final MiriamData drugId) throws DrugSearchException {
@@ -566,8 +552,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Parse xml node with synonyms.
    *
-   * @param synonymsNode
-   *          xml node with synonyms
+   * @param synonymsNode xml node with synonyms
    * @return list of synonyms obtained from the input xml
    */
   @Override
@@ -591,11 +576,9 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   /**
    * Returns information about drug by chembl drug identifier.
    *
-   * @param drugId
-   *          {@link MiriamType#CHEMBL_COMPOUND chembl drug identifier}
+   * @param drugId {@link MiriamType#CHEMBL_COMPOUND chembl drug identifier}
    * @return drug by chembl drug identifier
-   * @throws DrugSearchException
-   *           thrown when there is a problem with accessing data about drug
+   * @throws DrugSearchException thrown when there is a problem with accessing data about drug
    */
   @Override
   public Drug getDrugById(final MiriamData drugId) throws DrugSearchException {
@@ -610,6 +593,20 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
       if (response == null) {
         throw new DrugSearchException("Invalid source XML for drug: " + drugId);
       }
+
+      Node pageMetaNode = XmlParser.getNode("page_meta", response);
+      if (pageMetaNode == null) {
+        throw new DrugSearchException("Invalid source XML for drug: " + drugId);
+      }
+      Node totalCount = XmlParser.getNode("total_count", pageMetaNode);
+      if (totalCount == null) {
+        throw new DrugSearchException("Invalid source XML for drug: " + drugId);
+      }
+      if (totalCount.getTextContent().trim().isEmpty()) {
+        return null;
+      }
+
+
       Node moleculesNode = XmlParser.getNode("molecules", response);
       if (moleculesNode == null) {
         throw new DrugSearchException("Invalid source XML for drug: " + drugId);
@@ -651,12 +648,10 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
 
   /**
    * Returns list of drugs found by target identified in the parameter.
-   * 
-   * @param targetMiriam
-   *          {@link MiriamType#CHEMBL_TARGET chembl target identifier}
+   *
+   * @param targetMiriam {@link MiriamType#CHEMBL_TARGET chembl target identifier}
    * @return list of drugs found by target identified in the parameter
-   * @throws DrugSearchException
-   *           thrown when there is a problem with accessing chembl database
+   * @throws DrugSearchException thrown when there is a problem with accessing chembl database
    */
   @Override
   public List<Drug> getDrugsByChemblTarget(final MiriamData targetMiriam) throws DrugSearchException {
@@ -700,8 +695,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   }
 
   /**
-   * @param uniprotAnnotator
-   *          the uniprotAnnotator to set
+   * @param uniprotAnnotator the uniprotAnnotator to set
    * @see #uniprotAnnotator
    */
   public void setUniprotAnnotator(final UniprotAnnotator uniprotAnnotator) {
@@ -717,8 +711,7 @@ public class ChEMBLParserImpl extends DrugAnnotationImpl implements ChEMBLParser
   }
 
   /**
-   * @param hgncAnnotator
-   *          the hgncAnnotator to set
+   * @param hgncAnnotator the hgncAnnotator to set
    * @see #hgncAnnotator
    */
   public void setHgncAnnotator(final HgncAnnotator hgncAnnotator) {
diff --git a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotationImpl.java b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotationImpl.java
index f3452aad3a962ff34b19a6ccd4063a17ed094a5c..0553b0cea4dd0e3a82400a787307a6766783b2a0 100644
--- a/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotationImpl.java
+++ b/annotation/src/main/java/lcsb/mapviewer/annotation/services/DrugAnnotationImpl.java
@@ -46,7 +46,7 @@ public abstract class DrugAnnotationImpl extends CachableInterface implements Dr
   /**
    * Default class logger.
    */
-  private final Logger logger = LogManager.getLogger();
+  protected final Logger logger = LogManager.getLogger();
 
   /**
    * Object that allows to serialize {@link Drug} elements into xml string and
diff --git a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
index c7e48d958adcc440c97f926fcd5a58fd4ec207ac..c33bbd5ee4e058a2e65a242e2d138d83e8260598 100644
--- a/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
+++ b/annotation/src/test/java/lcsb/mapviewer/annotation/services/ChEMBLParserTest.java
@@ -1,28 +1,5 @@
 package lcsb.mapviewer.annotation.services;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.when;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.lang3.SerializationException;
-import org.junit.After;
-import org.junit.Test;
-import org.mockito.Mockito;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.util.ReflectionTestUtils;
-import org.w3c.dom.Node;
-
 import lcsb.mapviewer.annotation.AnnotationTestFunctions;
 import lcsb.mapviewer.annotation.cache.GeneralCacheInterface;
 import lcsb.mapviewer.annotation.cache.SourceNotAvailable;
@@ -39,6 +16,28 @@ import lcsb.mapviewer.common.exception.InvalidArgumentException;
 import lcsb.mapviewer.model.map.MiriamData;
 import lcsb.mapviewer.model.map.MiriamRelationType;
 import lcsb.mapviewer.model.map.MiriamType;
+import org.apache.commons.lang3.SerializationException;
+import org.junit.After;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.util.ReflectionTestUtils;
+import org.w3c.dom.Node;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.when;
 
 public class ChEMBLParserTest extends AnnotationTestFunctions {
 
@@ -57,7 +56,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   @Autowired
   private TaxonomyBackend taxonomyBackend;
 
-  private WebPageDownloader webPageDownloader = new WebPageDownloader();
+  private final WebPageDownloader webPageDownloader = new WebPageDownloader();
 
   @After
   public void tearDown() throws Exception {
@@ -157,7 +156,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
 
   @Test
   public void test7FindDrug() throws Exception {
-    String n = "asdwrgwedas";
+    String n = "blah_blah_blah";
     Drug test = chemblParser.findDrug(n);
     assertNull(test);
   }
@@ -205,6 +204,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     for (final MiriamData md : test.getGenes()) {
       if (md.getResource().equals("MET")) {
         contains = true;
+        break;
       }
     }
     assertTrue(contains);
@@ -313,6 +313,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     for (final MiriamData md : test.getGenes()) {
       if (md.getResource().equals("CYP17A1")) {
         contains = true;
+        break;
       }
     }
     assertTrue(contains);
@@ -363,6 +364,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     for (final MiriamData md : test.getGenes()) {
       if (md.getResource().equals("KEAP1")) {
         contains = true;
+        break;
       }
     }
     assertTrue(contains);
@@ -375,7 +377,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     for (final Target target : drug.getTargets()) {
       assertEquals(0, target.getReferences().size());
     }
-    assertTrue(drug.getTargets().size() > 0);
+    assertFalse(drug.getTargets().isEmpty());
   }
 
   @Test
@@ -384,7 +386,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     for (final Target target : drug.getTargets()) {
       assertEquals(0, target.getReferences().size());
     }
-    assertTrue(drug.getTargets().size() > 0);
+    assertFalse(drug.getTargets().isEmpty());
   }
 
   @Test
@@ -412,7 +414,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   @Test
   public void testFindDrugByUniprotTarget() throws Exception {
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.UNIPROT, "O60391"));
-    assertTrue(drugs.size() > 0);
+    assertFalse(drugs.isEmpty());
   }
 
   @Test(expected = DrugSearchException.class)
@@ -424,7 +426,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   public void testFindDrugByHgncTarget() throws Exception {
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
     assertNotNull(drugs);
-    assertTrue(drugs.size() > 0);
+    assertFalse(drugs.isEmpty());
   }
 
   @Test
@@ -432,14 +434,13 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     // this gene raised some errors at some point
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "PFKM"));
     assertNotNull(drugs);
-    assertTrue(drugs.size() >= 0);
   }
 
   @Test
   public void testFindDrugsByHgncTargets() throws Exception {
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
     List<Drug> drugs2 = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3A"));
-    List<MiriamData> hgnc = new ArrayList<MiriamData>();
+    List<MiriamData> hgnc = new ArrayList<>();
     hgnc.add(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
     hgnc.add(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3A"));
     List<Drug> drugs3 = chemblParser.getDrugListByTargets(hgnc);
@@ -462,13 +463,13 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     organisms.add(TaxonomyBackend.HUMAN_TAXONOMY);
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"), organisms);
     assertNotNull(drugs);
-    assertTrue(drugs.size() > 0);
+    assertFalse(drugs.isEmpty());
   }
 
   @Test
   public void testFindDrugsByRepeatingHgncTargets() throws Exception {
     List<Drug> drugs = chemblParser.getDrugListByTarget(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
-    List<MiriamData> hgnc = new ArrayList<MiriamData>();
+    List<MiriamData> hgnc = new ArrayList<>();
     hgnc.add(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
     hgnc.add(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
     hgnc.add(new MiriamData(MiriamType.HGNC_SYMBOL, "GRIN3B"));
@@ -489,7 +490,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
 
   @Test
   public void testRefreshCacheQuery() throws Exception {
-    Object res = chemblParser.refreshCacheQuery("http://google.pl/");
+    Object res = chemblParser.refreshCacheQuery("https://google.pl/");
     assertNotNull(res);
   }
 
@@ -503,7 +504,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     when(mockDownloader.getFromNetwork(anyString(), anyString(), nullable(String.class)))
         .thenThrow(new IOException());
     ReflectionTestUtils.setField(chemblParser, "webPageDownloader", mockDownloader);
-    chemblParser.refreshCacheQuery("http://google.pl/");
+    chemblParser.refreshCacheQuery("https://google.pl/");
   }
 
   @Test(expected = DrugSearchException.class)
@@ -628,9 +629,9 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   @Test
   public void testParseReferences() throws Exception {
     Node node = super.getXmlDocumentFromFile("testFiles/chembl/references.xml");
+    assertNotNull(node);
     Set<MiriamData> references = chemblParser.parseReferences(node.getFirstChild());
-    // we might have more references (if we decide to parse wikipedia, isbn,
-    // etc)
+    // we might have more references (if we decide to parse wikipedia, isbn, etc.)
     assertTrue(references.size() >= 3);
     assertEquals(1, getWarnings().size());
   }
@@ -638,6 +639,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   @Test
   public void testParseReferencesWithSpecInId() throws Exception {
     Node node = super.getXmlDocumentFromFile("testFiles/chembl/references_with_space.xml");
+    assertNotNull(node);
     Set<MiriamData> references = Mockito.mock(ChEMBLParserImpl.class, Mockito.CALLS_REAL_METHODS).parseReferences(node.getFirstChild());
     assertEquals(1, references.size());
     assertFalse(references.iterator().next().getResource().contains(" "));
@@ -649,7 +651,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   }
 
   @Test(expected = DrugSearchException.class)
-  public void testGetDrugByDrugIdWhenCehmblCrash() throws Exception {
+  public void testGetDrugByDrugIdWhenChemblCrash() throws Exception {
     ReflectionTestUtils.setField(chemblParser, "cache", null);
     WebPageDownloader mockDownloader = Mockito.mock(WebPageDownloader.class);
     when(mockDownloader.getFromNetwork(anyString(), anyString(), nullable(String.class))).thenReturn("invalid xml");
@@ -670,7 +672,7 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
   @Test
   public void testParseSynonymsNode() throws Exception {
     Node node = super.getNodeFromXmlString(
-        "<molecule_synonyms><synonym><synonyms>some synonym</synonyms></synonym><unknode/></molecule_synonyms>");
+        "<molecule_synonyms><synonym><synonyms>some synonym</synonyms></synonym><unknown_node/></molecule_synonyms>");
     List<String> synonyms = chemblParser.parseSynonymsNode(node);
     assertEquals(1, synonyms.size());
     assertEquals(1, getWarnings().size());
@@ -731,4 +733,10 @@ public class ChEMBLParserTest extends AnnotationTestFunctions {
     assertNull(result);
   }
 
+  @Test
+  public void testGetByProblematicId() throws Exception {
+    Drug drug = chemblParser.getDrugById(new MiriamData(MiriamType.CHEMBL_COMPOUND, "CHEMBL3545284"));
+    assertNull(drug);
+  }
+
 }
diff --git a/commons/pom.xml b/commons/pom.xml
index 43155b85d7b21e549849e1de54463ed49812290c..3fb0560e394f715eb7f7b4fa4c904685a653a050 100644
--- a/commons/pom.xml
+++ b/commons/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>commons</artifactId>
 	<name>Mapviewer commons</name>
diff --git a/converter-CellDesigner/pom.xml b/converter-CellDesigner/pom.xml
index f5c236331c3d776561989d1b3400292401cc0d33..f8f953735e329af427a993c343e1f38f87fce8ae 100644
--- a/converter-CellDesigner/pom.xml
+++ b/converter-CellDesigner/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>converter-CellDesigner</artifactId>
 	<name>CellDesigner converter</name>
@@ -17,13 +17,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/converter-SBGNML/pom.xml b/converter-SBGNML/pom.xml
index dbcacef14adf0ae0e21fae8e788b6b69bc2680ed..e5638df9c601c61892a7ad2a424cb9dd5e04a359 100644
--- a/converter-SBGNML/pom.xml
+++ b/converter-SBGNML/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>converter-SBGNML</artifactId>
 
@@ -20,26 +20,26 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 			<scope>test</scope>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
diff --git a/converter-graphics/pom.xml b/converter-graphics/pom.xml
index cedf0284de869cb927636ac1f39a8be327aac803..aea9fcc26bf95eac028c7fe280004705d30d7c60 100644
--- a/converter-graphics/pom.xml
+++ b/converter-graphics/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>converter-graphics</artifactId>
 	<name>MapViewer graphics converter</name>
@@ -18,13 +18,13 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/converter-sbml/pom.xml b/converter-sbml/pom.xml
index 10c65045dd759cc3e0c8ebbcb758d27081da0a36..9928e1fefc624cb2fbc5a570b9708620e02bde44 100644
--- a/converter-sbml/pom.xml
+++ b/converter-sbml/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>converter-sbml</artifactId>
 	<name>converter-sbml</name>
@@ -40,22 +40,22 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
@@ -167,7 +167,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 			<scope>test</scope>
 		</dependency>
 
diff --git a/converter/pom.xml b/converter/pom.xml
index 53ddac639e339267e612f2f188680f51fe1c5816..b35cc5c68cb3798107763708b431920ccd48bb0f 100644
--- a/converter/pom.xml
+++ b/converter/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>lcsb.mapviewer</groupId>
     <artifactId>parent</artifactId>
-    <version>17.1.3</version>
+    <version>17.1.4</version>
   </parent>
   
   <artifactId>converter</artifactId>
@@ -15,7 +15,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
       <artifactId>model</artifactId>
-      <version>17.1.3</version>
+      <version>17.1.4</version>
     </dependency>
 		<dependency>
 			<groupId>xerces</groupId>
diff --git a/frontend-js/pom.xml b/frontend-js/pom.xml
index 13321f7a6659c96e36424921a2140ed852733465..b9769fe8c7673bf2c2b6831330ea7959b7d648f2 100644
--- a/frontend-js/pom.xml
+++ b/frontend-js/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>frontend-js</artifactId>
 	<name>frontend-js</name>
diff --git a/model-command/pom.xml b/model-command/pom.xml
index a27bc6032bfb19e1e3530c07049a816705bf3dfa..251f04fd7f060c9e31a6c3177f554c7583cc3cae 100644
--- a/model-command/pom.xml
+++ b/model-command/pom.xml
@@ -3,7 +3,7 @@
   <parent>
     <groupId>lcsb.mapviewer</groupId>
     <artifactId>parent</artifactId>
-    <version>17.1.3</version>
+    <version>17.1.4</version>
   </parent>
   <artifactId>model-command</artifactId>
   <name>Model commands</name>
@@ -16,7 +16,7 @@
 		<dependency>
     	<groupId>lcsb.mapviewer</groupId>
       <artifactId>model</artifactId>
-      <version>17.1.3</version>
+      <version>17.1.4</version>
     </dependency>
     
 
@@ -24,7 +24,7 @@
 		<dependency>
       <groupId>lcsb.mapviewer</groupId>
       <artifactId>converter-CellDesigner</artifactId>
-      <version>17.1.3</version>
+      <version>17.1.4</version>
     </dependency>
 
 		<!-- Log4J2-->
diff --git a/model/pom.xml b/model/pom.xml
index 7f7334114bfb89807bd3cbe3697db1a027e04a3a..b072e3e151595760575b521ef116119d21e4d452 100644
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>model</artifactId>
 	<name>model MapViewer</name>
@@ -15,7 +15,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>commons</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Java xml serialization -->
diff --git a/pathvisio/pom.xml b/pathvisio/pom.xml
index 62bf2917bedde1371bf5539419c71c7a0e39a319..f5f8a7540961a7d18fc3fba787b03f85a71e918d 100644
--- a/pathvisio/pom.xml
+++ b/pathvisio/pom.xml
@@ -5,7 +5,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>pathvisio</artifactId>
 	<name>Pathvisio plugin</name>
@@ -77,26 +77,26 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
 			<scope>test</scope>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/persist/pom.xml b/persist/pom.xml
index ca8bf18b1fe90cd07d032aaefcbd3dc204edbe86..3f01ddb4fa3e80e782f1c7b9b76dd75069c05185 100644
--- a/persist/pom.xml
+++ b/persist/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 
 	<artifactId>persist</artifactId>
@@ -26,7 +26,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Hibernate -->
diff --git a/pom.xml b/pom.xml
index ef983f8eaf54fe8f6642ec7897c0199aeab5da5b..70971a9b54b36c89e5950854810c003bdec18cf4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 
 	<groupId>lcsb.mapviewer</groupId>
 	<artifactId>parent</artifactId>
-	<version>17.1.3</version>
+	<version>17.1.4</version>
 	<packaging>pom</packaging>
 
     <name>parent MapViewer</name>
diff --git a/rest-api/pom.xml b/rest-api/pom.xml
index 01ff8c94955ee7624c1d75b9b148b225c700824a..097100b14ede1bc5768fcc20cce1fc23fd096f6d 100644
--- a/rest-api/pom.xml
+++ b/rest-api/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 	<artifactId>rest-api</artifactId>
 	<name>rest-api</name>
@@ -19,19 +19,19 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>service</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>pathvisio</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
diff --git a/service/pom.xml b/service/pom.xml
index 38567d711920d442512c46f8536a5b05bc332c63..feb32832f5d0e3f3998ecbccd7e70368bcf165ff 100644
--- a/service/pom.xml
+++ b/service/pom.xml
@@ -7,7 +7,7 @@
 	<parent>
 		<groupId>lcsb.mapviewer</groupId>
 		<artifactId>parent</artifactId>
-		<version>17.1.3</version>
+		<version>17.1.4</version>
 	</parent>
 
 	<artifactId>service</artifactId>
@@ -20,7 +20,7 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer dao -->
@@ -28,47 +28,47 @@
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>persist</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>model-command</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>annotation</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer cell designer parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-CellDesigner</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer SBGN-ML parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-SBGNML</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the MapViewer graphics converter -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-graphics</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- dependency from the SBML parser -->
 		<dependency>
 			<groupId>lcsb.mapviewer</groupId>
 			<artifactId>converter-sbml</artifactId>
-			<version>17.1.3</version>
+			<version>17.1.4</version>
 		</dependency>
 
 		<!-- Log4J2 -->
diff --git a/web/pom.xml b/web/pom.xml
index 461b73488d99963c0982c40683e8f380daf6eac1..bc63a56d652d8e59a9495bdb56b45658412531a5 100644
--- a/web/pom.xml
+++ b/web/pom.xml
@@ -6,7 +6,7 @@
     <parent>
         <groupId>lcsb.mapviewer</groupId>
         <artifactId>parent</artifactId>
-        <version>17.1.3</version>
+        <version>17.1.4</version>
     </parent>
     <artifactId>web</artifactId>
     <packaging>jar</packaging>
@@ -36,19 +36,19 @@
         <dependency>
             <groupId>lcsb.mapviewer</groupId>
             <artifactId>service</artifactId>
-            <version>17.1.3</version>
+            <version>17.1.4</version>
         </dependency>
 
         <dependency>
             <groupId>lcsb.mapviewer</groupId>
             <artifactId>rest-api</artifactId>
-            <version>17.1.3</version>
+            <version>17.1.4</version>
         </dependency>
 
         <dependency>
             <groupId>lcsb.mapviewer</groupId>
             <artifactId>frontend-js</artifactId>
-            <version>17.1.3</version>
+            <version>17.1.4</version>
         </dependency>
 
         <dependency>