SelectList does not fire value change event, when filter is set

Hello,
I have ListSelect with registered ValueChangeListener. On the beginning valueChange(ValueChangeEvent event) method is called everytim, when an user clicks the item from list. But, when I add a filter to ListSelect’s container, the method is not called on the first clicked item, but on the second already:

     	list.setImmediate(true);
    	list.setNewItemsAllowed(false);
    	list.setNullSelectionAllowed(true);
		list.addValueChangeListener(new ValueChangeListener() {

			private static final long serialVersionUID = 1034663279277729313L;

			@Override
			public void valueChange(com.vaadin.data.Property.ValueChangeEvent event) {
				String value;
				if (converter == null) {
					value = list.getValue() == null ? null : list.getValue().toString();
				}else{
					value = converter.convertToPresentation(list.getValue(), getLocale());
				}
				setValue(value);
				closeWindow();
			}
		});
		filter = new ListFilter<T>(converter);
		((IndexedContainer)list.getContainerDataSource()).addContainerFilter(filter);
				if (filter != null) {
					filter.setText(event.getText());
					//enforce filtering
					((IndexedContainer)list.getContainerDataSource()).addContainerFilter(DUMMY_FILTER);
				}

Now if only few items are visible, user needs to click one item and then
another
(clicking the same item twice is not enough) to fire ValueChangeEvent.

Is it a bug or do I something wrong? Does it exist any workaround?
Thanks in advance for any help.

Agata

When I insert a debug point on the beginning of com.vaadin.ui.AbstractField.setInternalValue(T), the program works properly (value change event is fired during the first click), but when I remove it, I need to click another item to fire the event :frowning:

Seems, that it doesn’t work in Firefox only; in IE and Chrome works properly.