diff --git a/frontend-js/src/main/js/ServerConnector.js b/frontend-js/src/main/js/ServerConnector.js
index f3c79df87c7095d4256683995f7570a3e5391cca..d72b9c46652e9a14181f4019c585dd0d076d84c9 100644
--- a/frontend-js/src/main/js/ServerConnector.js
+++ b/frontend-js/src/main/js/ServerConnector.js
@@ -2456,13 +2456,17 @@ ServerConnector.addOverlayFromString = function (name, content) {
 /**
  *
  * @param {DataOverlay} overlay
+ * @param {Project} [project]
  * @return {Promise<DataOverlay>}
  */
-ServerConnector.updateOverlay = function (overlay) {
+ServerConnector.updateOverlay = function (overlay, project) {
   var self = this;
   var queryParams = {
     overlayId: overlay.getId()
   };
+  if (project !== undefined) {
+    queryParams.projectId = project.getProjectId();
+  }
   var filterParams = {
     overlay: {
       name: overlay.getName(),
@@ -2474,7 +2478,10 @@ ServerConnector.updateOverlay = function (overlay) {
       googleLicenseConsent: overlay.isGoogleLicenseConsent()
     }
   };
-  return self.sendPatchRequest(self.updateOverlayUrl(queryParams), filterParams).catch(function (e) {
+  return self.getProjectId(queryParams.projectId).then(function (projectId) {
+    queryParams.projectId = projectId;
+    return self.sendPatchRequest(self.updateOverlayUrl(queryParams), filterParams);
+  }).catch(function (e) {
     if (e instanceof NetworkError && e.statusCode === HttpStatus.BAD_REQUEST) {
       throw new ValidationError(e.content.reason);
     } else {
diff --git a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
index 3f51e84f77c9f24ee44b076ef10c033fa0b88706..c5adc8b81501e2b4076756f79d9b337faf4cd430 100644
--- a/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
+++ b/frontend-js/src/main/js/gui/admin/EditProjectDialog.js
@@ -1114,7 +1114,7 @@ EditProjectDialog.prototype.close = function () {
 EditProjectDialog.prototype.updateOverlay = function (overlay) {
   var self = this;
   GuiConnector.showProcessing();
-  return self.getServerConnector().updateOverlay(overlay).catch(GuiConnector.alert).finally(GuiConnector.hideProcessing);
+  return self.getServerConnector().updateOverlay(overlay, self.getProject()).catch(GuiConnector.alert).finally(GuiConnector.hideProcessing);
 };
 
 /**