diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/ColumnChooser.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/ColumnChooser.java
index c8ddc84c0ec48fda19055a09ee459dbf212cd0ab..abc4ac9bfecde19ecddad6e7c45965e8aa3043ce 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/ColumnChooser.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample_browser/ColumnChooser.java
@@ -64,7 +64,17 @@ final class ColumnChooser extends TextToolItem
         this.parentColumns = parentColumns;
         this.propertyColumns = propertyColumns;
         setEnabled(false);
-        reload();
+        // Setting a menu, even dummy, at construction seems to be important for correct GUI
+        // rendering, especially for Safari.
+        setMenu(createDummyMenu());
+    }
+
+    private final static Menu createDummyMenu()
+    {
+        final Menu menu = new Menu();
+        // Putting nothing or just an empty string does not satisfy Safari.
+        menu.add(new MenuItem("<dummy>"));
+        return menu;
     }
 
     final void reload()
@@ -84,9 +94,9 @@ final class ColumnChooser extends TextToolItem
     private final List<Item> createCommonMenu()
     {
         final ArrayList<Item> result = new ArrayList<Item>();
-        for (final ColumnConfig cc : commonColumns.getColumns())
+        for (final ColumnConfig columnConfig : commonColumns.getColumns())
         {
-            result.add(createFromConfig(cc));
+            result.add(createFromConfig(columnConfig));
         }
         return result;
     }