diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
index 14df1693168a0f864a811ed54222b491edd5ac3b..072141ab48ce9ab52a958ea49b5f4a4ccf68432a 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
@@ -112,7 +112,8 @@ public class GeneralInformationChangingService extends
     public WebAppSettings getWebAppSettings(String sessionToken, String webAppId)
     {
         final Session session = getSession(sessionToken);
-        return session.getPerson().getDisplaySettings().getCustomWebAppSettings(webAppId);
+        return new WebAppSettings(webAppId, session.getPerson().getDisplaySettings()
+                .getCustomWebAppSettings(webAppId));
     }
 
     @Override
@@ -123,7 +124,8 @@ public class GeneralInformationChangingService extends
     {
         final Session session = getSession(sessionToken);
         final DisplaySettings displaySettings = session.getPerson().getDisplaySettings();
-        displaySettings.setCustomWebAppSettings(webAppSettings);
+        displaySettings.setCustomWebAppSettings(webAppSettings.getWebAppId(),
+                webAppSettings.getSettings());
         saveDisplaySettings(session.getSessionToken(), null, -1);
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
index d2a036227b9cd8596631df07d1adde1751f4b850..36ae48269442797f727a3d0cb48c133af81ea756 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java
@@ -22,8 +22,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import ch.systemsx.cisd.openbis.generic.shared.api.v1.dto.WebAppSettings;
-
 /**
  * Class storing personalized display settings. This class implements {@link Serializable} not only
  * for transferring it's content remotely but also to store it in the database. Thus, CHANGES IN
@@ -313,7 +311,7 @@ public class DisplaySettings implements Serializable
      * @deprecated Don't use in generic web client - will be overwritten.
      */
     @Deprecated
-    public synchronized WebAppSettings getCustomWebAppSettings(String webAppId)
+    public synchronized Map<String, String> getCustomWebAppSettings(String webAppId)
     {
         if (customWebAppDisplaySettings == null)
         {
@@ -325,20 +323,20 @@ public class DisplaySettings implements Serializable
             settings = new HashMap<String, String>();
             customWebAppDisplaySettings.put(webAppId, settings);
         }
-        return new WebAppSettings(webAppId, settings);
+        return settings;
     }
 
     /**
      * @deprecated Don't use in generic web client - will be overwritten.
      */
     @Deprecated
-    public synchronized void setCustomWebAppSettings(WebAppSettings settings)
+    public synchronized void setCustomWebAppSettings(String webAppId, Map<String, String> settings)
     {
         if (customWebAppDisplaySettings == null)
         {
             customWebAppDisplaySettings = new HashMap<String, Map<String, String>>();
         }
-        customWebAppDisplaySettings.put(settings.getWebAppId(), settings.getSettings());
+        customWebAppDisplaySettings.put(webAppId, settings);
     }
 
     /**