diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
index c112c37dd3b765a00cb04de023b02528a0afdd26..d01cb12555224201a8ee070aa81ac6f23213f168 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
@@ -154,13 +154,12 @@ public class LinkRenderer
         Anchor link = new Anchor();
         link.setText(text);
         link.setStyleName(LINK_STYLE);
-        if (listener != null && ClientStaticState.isSimpleMode() == false)
-        {
-            link.addClickHandler(listener);
-        }
-        if (historyHref != null)
+        if (historyHref != null && ClientStaticState.isSimpleMode())
         {
             link.setHref("#" + historyHref);
+        } else if (listener != null)
+        {
+            link.addClickHandler(listener);
         }
         if (invalidate)
         {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
index d66b52f10dcc3d497de7efb4879d4fa629e527d4..072dae5fd614572bff0341f54d8af67887e4fbd3 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
@@ -20,6 +20,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpP
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.column.GridCustomColumnGrid;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.GridCustomFilterGrid;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.DialogWithOnlineHelpUtils;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 
 /**
  * {@link Dialog} displaying {@link ColumnSettingsChooser}.
@@ -79,17 +80,45 @@ public class ColumnSettingsDialog extends Dialog
             });
         panel.add(columnsTab);
 
-        final IDisposableComponent filters =
-                GridCustomFilterGrid.create(viewContext, gridDisplayId, columnDataModelProvider);
-        TabItem customFiltersTab =
-                createTabItem(filters.getComponent(), Dict.GRID_CUSTOM_FILTERS, FILTERS_TAB);
-        panel.add(customFiltersTab);
-
-        final IDisposableComponent columns =
-                GridCustomColumnGrid.create(viewContext, gridDisplayId, columnDataModelProvider);
-        TabItem customColumnsTab =
-                createTabItem(columns.getComponent(), Dict.GRID_CUSTOM_COLUMNS, COLUMNS_TAB);
-        panel.add(customColumnsTab);
+        final IDelegatedAction onCloseAction;
+
+        if (viewContext.isSimpleMode() == false)
+        {
+            final IDisposableComponent columns =
+                    GridCustomColumnGrid
+                            .create(viewContext, gridDisplayId, columnDataModelProvider);
+            TabItem customColumnsTab =
+                    createTabItem(columns.getComponent(), Dict.GRID_CUSTOM_COLUMNS, COLUMNS_TAB);
+            panel.add(customColumnsTab);
+
+            final IDisposableComponent filters =
+                    GridCustomFilterGrid
+                            .create(viewContext, gridDisplayId, columnDataModelProvider);
+            TabItem customFiltersTab =
+                    createTabItem(filters.getComponent(), Dict.GRID_CUSTOM_FILTERS, FILTERS_TAB);
+            panel.add(customFiltersTab);
+
+            onCloseAction = new IDelegatedAction()
+                {
+                    public void execute()
+                    {
+                        columnDataModelProvider.onClose(columnChooser.getModels());
+                        hide();
+                        filters.dispose();
+                        columns.dispose();
+                    }
+                };
+        } else
+        {
+            onCloseAction = new IDelegatedAction()
+                {
+                    public void execute()
+                    {
+                        columnDataModelProvider.onClose(columnChooser.getModels());
+                        hide();
+                    }
+                };
+        }
 
         add(panel);
         super.show();
@@ -100,10 +129,7 @@ public class ColumnSettingsDialog extends Dialog
                 @Override
                 public void componentSelected(ButtonEvent ce)
                 {
-                    columnDataModelProvider.onClose(columnChooser.getModels());
-                    filters.dispose();
-                    columns.dispose();
-                    hide();
+                    onCloseAction.execute();
                 }
             });
     }