Programmatic filter changes only fire when the filter actually changes