diff --git a/frontend-js/src/main/js/gui/AbstractPanel.js b/frontend-js/src/main/js/gui/AbstractPanel.js
index bcbcb5d103946b3bdc51d99b1482c73e50462481..90686ad498ed7ff3d7b5fdb3a364dec211934326 100644
--- a/frontend-js/src/main/js/gui/AbstractPanel.js
+++ b/frontend-js/src/main/js/gui/AbstractPanel.js
@@ -56,6 +56,21 @@ function AbstractPanel(params) {
 AbstractPanel.prototype = Object.create(ObjectWithListeners.prototype);
 AbstractPanel.prototype.constructor = AbstractPanel;
 
+AbstractPanel.prototype.disablePanel = function(message){
+  this.getSearchQueryElement().style.visibility ="hidden";
+  this.getSearchResultsElement().style.visibility ="hidden";
+  var hideReasonDiv = document.createElement("div");
+  hideReasonDiv.className="searchPanel";
+  
+  var center = document.createElement("center");
+  var messageDiv = document.createElement("h4");
+  messageDiv .innerHTML=message;
+  center.appendChild(messageDiv);
+  hideReasonDiv.appendChild(center);
+  
+  this.getElement().insertBefore(hideReasonDiv, this.getSearchQueryElement());
+};
+
 AbstractPanel.prototype.setOverlayDb = function(overlayDb){
   if (overlayDb === undefined) {
     throw new Error("Undefined overlayDb");
diff --git a/frontend-js/src/main/js/gui/ChemicalPanel.js b/frontend-js/src/main/js/gui/ChemicalPanel.js
index 146eaa57b6fca71513ed2a1fafa6696fe6720dba..28f21f359e5c0e98465fe8d8c18160c4ca1008b8 100644
--- a/frontend-js/src/main/js/gui/ChemicalPanel.js
+++ b/frontend-js/src/main/js/gui/ChemicalPanel.js
@@ -8,6 +8,10 @@ var AbstractPanel = require('./AbstractPanel');
 function ChemicalPanel(params) {
   params.panelName = "chemical";
   AbstractPanel.call(this, params);
+
+  if (params.disease===undefined) {
+    this.disablePanel("DISEASE NOT DEFINED FOR PROJECT. PLEASE, DEFINE IT IN THE ADMIN SECTION.");
+  }
 }
 ChemicalPanel.prototype = Object.create(AbstractPanel.prototype);
 ChemicalPanel.prototype.constructor = ChemicalPanel;
diff --git a/frontend-js/src/main/js/map/data/Project.js b/frontend-js/src/main/js/map/data/Project.js
index e96da041ba75a827f90e0f771c819f57162e26ab..22492dc0964e4fdd11dd50983a1352ad395cc36d 100644
--- a/frontend-js/src/main/js/map/data/Project.js
+++ b/frontend-js/src/main/js/map/data/Project.js
@@ -31,6 +31,8 @@ Project.prototype.loadFromData = function(data) {
   this.setDescription(data.description);
   this.setOverviewImages(data.overviewImageViews);
   this.setTopOverviewImage(data.topOverviewImage);
+  this.setDisease(data.disease);
+  this.setOrganism(data.organism);
 
   this.setModel(new Model(data.map));
 
@@ -94,4 +96,18 @@ Project.prototype.setDescription = function(description) {
   this._description = description;
 };
 
+Project.prototype.getDisease = function() {
+  return this._disease;
+};
+Project.prototype.setDisease = function(disease) {
+  this._disease = disease;
+};
+
+Project.prototype.getOrganism = function() {
+  return this._organism;
+};
+Project.prototype.setOrganism = function(organism) {
+  this._organism = organism;
+};
+
 module.exports = Project;
diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js
index 53e6e4f22a5da60e9ae3e5393abd96818632bd67..3eca61d3356f6a2d0065f91b85b57a2a82cbcd3b 100644
--- a/frontend-js/src/main/js/minerva.js
+++ b/frontend-js/src/main/js/minerva.js
@@ -66,6 +66,11 @@ function restoreDrugQuery(customMap) {
 };
 
 function create(params) {
+  var project = params.project;
+  if (project===undefined) {
+    project = params.getProject();
+  }
+  
   if (global.GuiConnector === undefined) {
     global.GuiConnector = OriginalGuiConnector;
     global.ServerConnector = OriginalServerConnector;
@@ -126,6 +131,7 @@ function create(params) {
         collection = new ChemicalDbOverlay(collectionParams);
         result.registerSource(collection);
         new ChemicalPanel({
+          disease: project.getDisease(), 
           element : document.getElementById("chemicalTab"),
           customMap : result
         });
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectMetaData.java b/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectMetaData.java
index e3c3c7796804ab2ea3148ae20b57aabd594ac08e..6f8f5fcc44d609b57ba02c3b2932f8cd839734c4 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectMetaData.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectMetaData.java
@@ -12,6 +12,7 @@ import lcsb.mapviewer.model.map.OverviewImage;
 import lcsb.mapviewer.model.map.OverviewImageLink;
 import lcsb.mapviewer.model.map.OverviewLink;
 import lcsb.mapviewer.model.map.model.ModelData;
+import lcsb.mapviewer.services.view.AnnotationView;
 import lcsb.mapviewer.services.view.OverviewImageView;
 import lcsb.mapviewer.services.view.OverviewImageViewFactory;
 
@@ -28,8 +29,12 @@ public class ProjectMetaData implements Serializable {
 	 * Version of the project.
 	 */
 	private String									version;
-	
-	private Integer idObject;
+
+	private AnnotationView					disease;
+
+	private AnnotationView					organism;
+
+	private Integer									idObject;
 
 	/**
 	 * Name of the project.
@@ -96,6 +101,7 @@ public class ProjectMetaData implements Serializable {
 				this.setTopOverviewImage(factory.create(model.getOverviewImages().get(0)));
 			}
 			this.setMap(new ModelMetaData(model));
+
 		}
 	}
 
@@ -227,11 +233,46 @@ public class ProjectMetaData implements Serializable {
 	}
 
 	/**
-	 * @param idObject the idObject to set
+	 * @param idObject
+	 *          the idObject to set
 	 * @see #idObject
 	 */
 	public void setIdObject(Integer idObject) {
 		this.idObject = idObject;
 	}
 
+	/**
+	 * @return the disease
+	 * @see #disease
+	 */
+	public AnnotationView getDisease() {
+		return disease;
+	}
+
+	/**
+	 * @param disease
+	 *          the disease to set
+	 * @see #disease
+	 */
+	public void setDisease(AnnotationView disease) {
+		this.disease = disease;
+	}
+
+	/**
+	 * @return the organism
+	 * @see #organism
+	 */
+	public AnnotationView getOrganism() {
+		return organism;
+	}
+
+	/**
+	 * @param organism
+	 *          the organism to set
+	 * @see #organism
+	 */
+	public void setOrganism(AnnotationView organism) {
+		this.organism = organism;
+	}
+
 }
diff --git a/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectRestImpl.java b/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectRestImpl.java
index e04dd109fb7389fc9f9c2e72698285b23259e0ca..0588b6d4cef169988978cde0c4d0baac0e58b7bf 100644
--- a/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectRestImpl.java
+++ b/rest-api/src/main/java/lcsb/mapviewer/api/project/ProjectRestImpl.java
@@ -57,6 +57,12 @@ public class ProjectRestImpl {
 
 		Project project = projectService.getProjectByProjectId(projectId, userService.getToken(token));
 		ProjectMetaData result = new ProjectMetaData(project);
+		if (project.getOrganism() != null) {
+			result.setOrganism(annotationViewFactory.create(project.getOrganism()));
+		}
+		if (project.getDisease() != null) {
+			result.setDisease(annotationViewFactory.create(project.getDisease()));
+		}
 		return result;
 	}
 
@@ -328,7 +334,8 @@ public class ProjectRestImpl {
 		this.searchService = searchService;
 	}
 
-	public List<Map<String, Object>> getElementsByQuery(String projectId, String token, String query, Integer maxElements, String perfectMatch) throws SecurityException {
+	public List<Map<String, Object>> getElementsByQuery(String projectId, String token, String query, Integer maxElements, String perfectMatch)
+			throws SecurityException {
 		List<Map<String, Object>> resultMap = new ArrayList<>();
 
 		Model model = modelService.getLastModelByProjectId(projectId, userService.getToken(token));