diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
index c1e7b40b0e89c6a906447eff912fd1fbd3b09058..f2743da842921dbef477b0e6f1f726b51a6a1b93 100644
--- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
+++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
@@ -4,6 +4,7 @@
 
 var Alias = require('../../map/data/Alias');
 var ConfigurationType = require('../../ConfigurationType');
+var IdentifiedElement = require('../../map/data/IdentifiedElement');
 
 var GuiConnector = require('../../GuiConnector');
 var AbstractGuiElement = require('../AbstractGuiElement');
@@ -120,11 +121,7 @@ GuiUtils.prototype.createNewLine = function (count) {
 GuiUtils.prototype.createLink = function (url, name) {
   if (url === null || url === undefined) {
     logger.warn("URL not defined for: \"" + name + "\" link");
-    return Functions.createElement(
-      {
-        type: "span",
-        content: name
-      });
+    return Functions.createElement({type: "span", content: name});
   }
   var link = document.createElement("a");
   link.href = url;
@@ -608,19 +605,33 @@ GuiUtils.prototype.createAliasElement = function (params) {
     div.appendChild(self.createNewLine(3));
   }
 
-  div.appendChild(self.createParamLine("Full name: ", alias.getFullName()));
-  div.appendChild(self.createParamLine("Symbol: ", alias.getSymbol()));
-  div.appendChild(self.createParamLine("Abbreviation: ", alias.getAbbreviation()));
-  div.appendChild(self.createParamLine("Formula: ", alias.getFormula()));
-  div.appendChild(self.createArrayParamLine("Former symbols: ", alias.getFormerSymbols()));
-  div.appendChild(self.createPostTranslationalModifications("PostTranslational modifications: ", alias
-    .getOther('modifications')));
-  div.appendChild(self.createParamLine("Charge: ", alias.getCharge()));
-  div.appendChild(self.createArrayParamLine("Synonyms: ", alias.getSynonyms()));
-  div.appendChild(self.createLabelText(alias.getDescription()));
-  div.appendChild(self.createAnnotations("Annotations: ", alias.getReferences()));
+  var promise = Promise.resolve();
+  if (alias.getCompartmentId() !== undefined) {
+    promise = self.getMap().getModel().getByIdentifiedElement(new IdentifiedElement({
+      type: "ALIAS",
+      id: alias.getCompartmentId(),
+      modelId: alias.getModelId()
+    }), true).then(function (compartment) {
+      div.appendChild(self.createParamLine("Compartment: ", compartment.getName()));
+    })
+  }
 
-  return Promise.resolve(div);
+  return promise.then(function () {
+
+    div.appendChild(self.createParamLine("Full name: ", alias.getFullName()));
+    div.appendChild(self.createParamLine("Symbol: ", alias.getSymbol()));
+    div.appendChild(self.createParamLine("Abbreviation: ", alias.getAbbreviation()));
+    div.appendChild(self.createParamLine("Formula: ", alias.getFormula()));
+    div.appendChild(self.createArrayParamLine("Former symbols: ", alias.getFormerSymbols()));
+    div.appendChild(self.createPostTranslationalModifications("PostTranslational modifications: ", alias
+      .getOther('modifications')));
+    div.appendChild(self.createParamLine("Charge: ", alias.getCharge()));
+    div.appendChild(self.createArrayParamLine("Synonyms: ", alias.getSynonyms()));
+    div.appendChild(self.createLabelText(alias.getDescription()));
+    div.appendChild(self.createAnnotations("Annotations: ", alias.getReferences()));
+
+    return div;
+  })
 };
 
 /**
diff --git a/frontend-js/src/main/js/map/data/Alias.js b/frontend-js/src/main/js/map/data/Alias.js
index c1207a70457ce3f9d17a5db9a55274b46667d811..ad5aa080b4bf5b4ecc3dcd2b428b11e66277f62b 100644
--- a/frontend-js/src/main/js/map/data/Alias.js
+++ b/frontend-js/src/main/js/map/data/Alias.js
@@ -341,7 +341,7 @@ Alias.prototype.setFullName = function (fullName) {
 
 /**
  *
- * @returns {number}
+ * @returns {number|undefined}
  */
 Alias.prototype.getCompartmentId = function () {
   return this._compartmentId;
diff --git a/frontend-js/src/main/js/map/data/Annotation.js b/frontend-js/src/main/js/map/data/Annotation.js
index 748eff92445c3ccd2e9bc33a806652a206279760..7b6f82bef9bf4a6518da736cb18df40c06c23303 100644
--- a/frontend-js/src/main/js/map/data/Annotation.js
+++ b/frontend-js/src/main/js/map/data/Annotation.js
@@ -11,10 +11,10 @@ var logger = require('../../logger');
  * @typedef {Object} AnnotationOptions
  * @property {string} link
  * @property {number} id
- * @property {Article|ArticleOptions} article
+ * @property {Article|ArticleOptions} [article]
  * @property {string} type
  * @property {string} resource
- * @property {string} annotatorClassName
+ * @property {string} [annotatorClassName]
  */
 
 /**
@@ -140,7 +140,7 @@ Annotation.prototype.setAnnotatorClassName = function (annotatorClassName) {
 
 /**
  *
- * @returns {string}
+ * @returns {string|undefined}
  */
 Annotation.prototype.getAnnotatorClassName = function () {
   return this._annotatorClassName;
diff --git a/frontend-js/src/main/js/map/data/SearchBioEntityGroup.js b/frontend-js/src/main/js/map/data/SearchBioEntityGroup.js
index c3e5f57379925c8f60d1c2aee5820dd4c7852b76..16e07a3fe3d759e763ed2b449944a8e7fd57e0ac 100644
--- a/frontend-js/src/main/js/map/data/SearchBioEntityGroup.js
+++ b/frontend-js/src/main/js/map/data/SearchBioEntityGroup.js
@@ -113,6 +113,10 @@ SearchBioEntityGroup.prototype.getModelId = function () {
   return this._bioEntites[0].getModelId();
 };
 
+SearchBioEntityGroup.prototype.getCompartmentId = function () {
+  return this._bioEntites[0].getCompartmentId();
+};
+
 SearchBioEntityGroup.prototype.getReactants = function () {
   return this._bioEntites[0].getReactants();
 };
diff --git a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
index ab51bc5f823ac9a09f4ce0eda7a15d2e39d69873..ff5e92fd78587ce9637c88d172198c5d2670ccb4 100644
--- a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js
@@ -23,7 +23,7 @@ describe('GuiUtils', function () {
     var map = helper.createCustomMap();
     helper.createSearchDbOverlay(map);
 
-    new GuiUtils();
+    new GuiUtils(helper.getConfiguration());
     assert.equal(logger.getWarnings().length, 0);
   });
 
@@ -64,8 +64,7 @@ describe('GuiUtils', function () {
   it('createLabelText for undefined', function () {
     var map = helper.createCustomMap();
 
-    var guiUtils = new GuiUtils();
-    guiUtils.setMap(map);
+    var guiUtils = createGuiUtils(map);
 
     var res = guiUtils.createLabelText();
     assert.notOk(res.innerHTML);
@@ -74,8 +73,7 @@ describe('GuiUtils', function () {
   it('createSubMapLink', function () {
     var map = helper.createCustomMap();
 
-    var guiUtils = new GuiUtils();
-    guiUtils.setMap(map);
+    var guiUtils = createGuiUtils(map);
 
     var res = guiUtils.createSubMapLink("TEST", map.getId());
     assert.ok(res.innerHTML);
@@ -127,8 +125,7 @@ describe('GuiUtils', function () {
       var map = helper.createCustomMap();
       helper.createSearchDbOverlay(map);
 
-      var guiUtils = new GuiUtils();
-      guiUtils.setMap(map);
+      var guiUtils = createGuiUtils(map);
       var alias = helper.createAlias(map);
 
       alias.setFullName("xxx");
@@ -137,12 +134,27 @@ describe('GuiUtils', function () {
       });
     });
 
+    it('compartment visible', function () {
+      var map = helper.createCustomMap();
+      helper.createSearchDbOverlay(map);
+
+      var guiUtils = createGuiUtils(map);
+      var alias = helper.createAlias(map);
+      var compartment = helper.createAlias(map);
+      alias.setCompartmentId(compartment.getId());
+
+      compartment.setName("compartment_name");
+      return guiUtils.createAliasElement({alias: alias}).then(function (div) {
+        assert.ok(div.innerHTML.indexOf("compartment_name") >= 0);
+      });
+    });
+
+
     it('full name in desc invisible', function () {
       var map = helper.createCustomMap();
       helper.createSearchDbOverlay(map);
 
-      var guiUtils = new GuiUtils();
-      guiUtils.setMap(map);
+      var guiUtils = createGuiUtils(map);
       var alias = helper.createAlias(map);
 
       alias.setFullName("");
@@ -155,8 +167,7 @@ describe('GuiUtils', function () {
       var map = helper.createCustomMap();
       helper.createSearchDbOverlay(map);
 
-      var guiUtils = new GuiUtils();
-      guiUtils.setMap(map);
+      var guiUtils = createGuiUtils(map);
       var alias = helper.createAlias(map);
 
       alias.setFullName("xxx");
@@ -173,14 +184,15 @@ describe('GuiUtils', function () {
 
   describe('createLink', function () {
     it('normal', function () {
-      var guiUtils = new GuiUtils();
+      var guiUtils = createGuiUtils();
       var link = guiUtils.createLink("http://www.minerva.uni.lu", "PD map");
       assert.ok(link);
       assert.equal(0, logger.getWarnings().length);
     });
 
     it('with null link', function () {
-      var guiUtils = new GuiUtils();
+      var guiUtils = createGuiUtils();
+      // noinspection JSCheckFunctionSignatures
       var link = guiUtils.createLink(null, "PD map");
       assert.ok(link);
       assert.ok(logger.getWarnings().length > 0);