diff --git a/frontend-js/src/main/css/global.css b/frontend-js/src/main/css/global.css
index ec96abdecc0f75b3837f87e961dc9ab06c5bf08a..9cbfaf70783fd8f071de8fa7650198b29c7004dd 100644
--- a/frontend-js/src/main/css/global.css
+++ b/frontend-js/src/main/css/global.css
@@ -510,4 +510,8 @@ h1 {
 
 .minerva-edit-project-dialog div[style*="display: table-cell"] {
 	padding: 2px;
+}
+
+.minerva-datatable-toolbar {
+	float: left;
 }
\ No newline at end of file
diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index 1e5461b55e34ede5859834f775876bf492db7e0a..62c82df88ecca4c97245eb8f5f87282e4d684030 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -1301,19 +1301,18 @@ ServerConnector.addComment = function(params) {
 };
 
 ServerConnector.addOverlay = function(params) {
-  if (!(params instanceof LayoutData)) {
-    throw new Error("Invalid overlay: " + params);
+  var overlay = params.overlay;
+  if (!(overlay instanceof LayoutData)) {
+    throw new Error("Invalid overlay: " + overlay);
   }
   var self = this;
   var queryParams = {};
   var data = {
-    name : params.getName(),
-    description : params.getDescription(),
-    content : params.getContent(),
-    filename : params.getFilename(),
+    name : overlay.getName(),
+    description : overlay.getDescription(),
+    content : overlay.getContent(),
+    filename : overlay.getFilename(),
   };
-  logger.info(data);
-  logger.info(params);
   return self.getProjectId(params.projectId).then(function(result) {
     queryParams.projectId = result;
     return self.sendPostRequest(self.addOverlayUrl(queryParams), data);
diff --git a/frontend-js/src/main/js/gui/AddOverlayDialog.js b/frontend-js/src/main/js/gui/AddOverlayDialog.js
index efc8a82135a1adcaabef4f8e13091bc7e0fc3f39..4f4b868319562005185da7453db8f3b39190ef9f 100644
--- a/frontend-js/src/main/js/gui/AddOverlayDialog.js
+++ b/frontend-js/src/main/js/gui/AddOverlayDialog.js
@@ -150,7 +150,10 @@ AddOverlayDialog.prototype.addOverlay = function() {
     filename : filename,
   });
   GuiConnector.showProcessing();
-  return ServerConnector.addOverlay(overlay).then(function(result) {
+  return ServerConnector.addOverlay({
+    overlay : overlay,
+    projectId : self.getProject().getProjectId(),
+  }).then(function(result) {
     overlay = result;
     GuiConnector.hideProcessing();
     return self.callListeners("onAddOverlay", overlay);
diff --git a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
index 4afbe99e61258c08f880e0d1886472e3bf365106..ae2eb07d0803f4c5d0aa24a4442dd530be60c763 100644
--- a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
@@ -3,6 +3,7 @@
 /* exported logger */
 
 var AbstractGuiElement = require('../AbstractGuiElement');
+var AddOverlayDialog = require('../AddOverlayDialog');
 var Annotation = require('../../map/data/Annotation');
 var GuiConnector = require('../../GuiConnector');
 
@@ -259,12 +260,19 @@ EditProjectDialog.prototype.createOverlaysTabContent = function() {
 
 EditProjectDialog.prototype._createOverlayTable = function() {
   var self = this;
+
+  var result = Functions.createElement({
+    type : "div",
+    style : "margin-top:10px;",
+  });
+
   var overlaysTable = Functions.createElement({
     type : "table",
     name : "overlaysTable",
     className : "display",
     style : "width:100%",
   });
+  result.appendChild(overlaysTable);
 
   $(overlaysTable).DataTable({
     fnRowCallback : function(nRow, aData, iDisplayIndex) {
@@ -287,7 +295,13 @@ EditProjectDialog.prototype._createOverlayTable = function() {
     }, {
       title : 'Remove',
     }, ],
+    dom : '<"minerva-datatable-toolbar">frtip',
+    initComplete : function() {
+      $("div.minerva-datatable-toolbar", $(result)).html('<button name="addOverlay">Add overlay</button>');
+    },
+
   });
+
   $(overlaysTable).on("click", "[name='removeOverlay']", function() {
     var button = this;
     return self.removeOverlay($(button).attr("data")).then(null, GuiConnector.alert);
@@ -314,7 +328,11 @@ EditProjectDialog.prototype._createOverlayTable = function() {
     }).then(null, GuiConnector.alert);
   });
 
-  return overlaysTable;
+  $(result).on("click", "[name='addOverlay']", function() {
+    return self.openAddOverlayDialog();
+  });
+
+  return result;
 };
 
 EditProjectDialog.prototype.createUsersTab = function(tabMenuDiv, tabContentDiv) {
@@ -483,4 +501,19 @@ EditProjectDialog.prototype.removeOverlay = function(overlayId) {
   });
 };
 
+EditProjectDialog.prototype.openAddOverlayDialog = function() {
+  var self = this;
+  var addOverlayDialog = new AddOverlayDialog({
+    project : self.getProject(),
+    customMap : null,
+    element : document.createElement("div"),
+  });
+  addOverlayDialog.addListener("onAddOverlay", function(e) {
+    return self.refreshOverlays();
+  })
+  return addOverlayDialog.init().then(function() {
+    return addOverlayDialog.open();
+  });
+};
+
 module.exports = EditProjectDialog;
diff --git a/frontend-js/src/test/js/ServerConnector-test.js b/frontend-js/src/test/js/ServerConnector-test.js
index d9bc91e93580b0305d80441e2e148f002257883d..d2ebad39e141dcc520b7df7cb39d6520fac95b40 100644
--- a/frontend-js/src/test/js/ServerConnector-test.js
+++ b/frontend-js/src/test/js/ServerConnector-test.js
@@ -170,12 +170,14 @@ describe('ServerConnector', function() {
   });
 
   it('addOverlay', function() {
-    return ServerConnector.addOverlay(new LayoutData({
-      name : "test nam",
-      description : "test desc",
-      content : "name color\nCAPN1 #00FF00\nPARK7 #AC0000",
-      filename : "test.txt"
-    })).then(function(overlay) {
+    return ServerConnector.addOverlay({
+      overlay : new LayoutData({
+        name : "test nam",
+        description : "test desc",
+        content : "name color\nCAPN1 #00FF00\nPARK7 #AC0000",
+        filename : "test.txt"
+      }),
+    }).then(function(overlay) {
       assert.ok(overlay);
     });
   });
diff --git a/frontend-js/src/test/js/gui/admin/EditProjectDialog.js b/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
index 085132d5739fe7b46203456a88c5afdd3b020988..6c4aca292a21ae1176ead65ce6ec4b27fa70bf54 100644
--- a/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/test/js/gui/admin/EditProjectDialog.js
@@ -72,5 +72,17 @@ describe('EditProjectDialog', function() {
       assert.ok(project === result);
     });
   });
+  
+  it('openAddOverlayDialog', function() {
+    return ServerConnector.getProject().then(function(result) {
+      var project = result;
+      var dialog = new EditProjectDialog({
+        element : testDiv,
+        project : project,
+        customMap : null,
+      });
+      return dialog.openAddOverlayDialog();
+    });
+  });
 
 });