diff --git a/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js b/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
index bf80688294254502ae9563f89b4b858dce14a763..66b39646bee816b5d4607487d11ced0a596f6369 100644
--- a/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/SubmapPanel.js
@@ -50,7 +50,7 @@ SubmapPanel.prototype.createRow = function (model) {
     var link = document.createElement("a");
     link.href = "#";
     link.onclick = function () {
-      self.getMap().openSubmap(model.getId());
+      return self.getMap().openSubmap(model.getId());
     };
     link.appendChild(img);
     openTd.appendChild(link);
@@ -99,7 +99,11 @@ SubmapPanel.prototype.init = function () {
     }
     for (i = 0; i < types.length; i++) {
       var type = types[i];
-      div.appendChild(self.createTable(modelsByType[type], type + " submaps"));
+      var tableName = type + " submaps";
+      if (type === "UNKNOWN") {
+        tableName = ""
+      }
+      div.appendChild(self.createTable(modelsByType[type], tableName));
     }
     if (models.length === 0) {
       self.getParent().hideTab(self);
diff --git a/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js b/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
index c2f34d7c1147f49e08deada88192c9eaffd76a1d..8264a0fed24d046cd0c1e77c8588c34b83bea866 100644
--- a/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
+++ b/frontend-js/src/test/js/gui/leftPanel/SubmapPanel-test.js
@@ -3,23 +3,24 @@
 require('../../mocha-config.js');
 
 var SubmapPanel = require('../../../../main/js/gui/leftPanel/SubmapPanel');
+var ServerConnector = require('../../ServerConnector-mock');
 
 var chai = require('chai');
 var assert = chai.assert;
 var logger = require('../../logger');
 
-describe('SubmapPanel', function() {
+describe('SubmapPanel', function () {
 
-  it('constructor', function() {
+  it('constructor', function () {
     var div = document.createElement("div");
 
     var map = helper.createCustomMap();
 
     new SubmapPanel({
-      element : div,
-      customMap : map,
-      parent : {
-        getMap : function() {
+      element: div,
+      customMap: map,
+      parent: {
+        getMap: function () {
           return map;
         }
       }
@@ -29,4 +30,56 @@ describe('SubmapPanel', function() {
     assert.equal(buttons.length, 1);
   });
 
+  describe('init', function () {
+    it('simple', function () {
+      var div = document.createElement("div");
+
+      var map = helper.createCustomMap();
+
+      var panel = new SubmapPanel({
+        element: div,
+        customMap: map,
+        parent: {
+          getMap: function () {
+            return map;
+          },
+          hideTab: function () {
+          }
+        }
+      });
+      return panel.init().then(function () {
+        assert.equal(logger.getWarnings().length, 0);
+        var buttons = div.getElementsByTagName("button");
+        assert.equal(buttons.length, 1);
+      }).finally(function () {
+        return panel.destroy();
+      })
+    });
+    it('with submaps', function () {
+      var div = document.createElement("div");
+      var panel;
+      return ServerConnector.getProject("complex_model_with_submaps").then(function (project) {
+        var map = helper.createCustomMap(project);
+
+        panel = new SubmapPanel({
+          element: div,
+          customMap: map,
+          parent: {
+            getMap: function () {
+              return map;
+            },
+            hideTab: function () {
+            }
+          }
+        });
+        return panel.init();
+      }).then(function () {
+        assert.equal(logger.getWarnings().length, 0);
+        assert.equal(panel.getElement().innerHTML.indexOf("UNKNOWN submaps"), -1, "UNKNOWN submaps table should have no title");
+      }).finally(function () {
+        return panel.destroy();
+      })
+    });
+  });
+
 });