diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterToolbar.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterToolbar.java
index 378b0b8250468dcadc09fa2de248de91a03413b6..8dfff2b98e844f96097a765d8a3ca05665b4405f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterToolbar.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/filter/FilterToolbar.java
@@ -63,7 +63,8 @@ public class FilterToolbar<T> extends ToolBar implements IDatabaseModificationOb
         filterSelectionWidget =
                 new FilterSelectionWidget(viewContext, gridId, displayTypeIDProvider);
         filterContainer = new LayoutContainer(new FillLayout(Orientation.HORIZONTAL));
-        AdapterToolItem filterTool = new AdapterToolItem(filterSelectionWidget);
+        filterContainer.setLayoutOnChange(true); // fixes jumping filter fields in firefox
+		AdapterToolItem filterTool = new AdapterToolItem(filterSelectionWidget);
         add(filterTool);
         add(new AdapterToolItem(filterContainer));
         applyTool = new TextToolItem(viewContext.getMessage(Dict.APPLY_FILTER));
@@ -145,7 +146,6 @@ public class FilterToolbar<T> extends ToolBar implements IDatabaseModificationOb
         Filter filter = filterSelectionWidget.tryGetSelected();
         if (filter != null)
         {
-            // TODO try to remove container and add a new one
             filterContainer.removeAll();
             if (filter.getName().equals(Filter.COLUMN_FILTER))
             {
@@ -160,7 +160,6 @@ public class FilterToolbar<T> extends ToolBar implements IDatabaseModificationOb
                     filterContainer.add(new CustomFilterParameterWidget(parameter));
                 }
             }
-            filterContainer.layout(); // TODO move?
         }
     }