Broken Filter Stacking In 3.0.6?

We have a site with many filters on it, such as brand, colour, price, size, gender.

There appears to be a bug in a specific situation, which causes one of the filters to be removed for no known reason.

We start by selecting 2 brand filters, which produces this filter hash:


We then select Male gender, which gives this hash:


Here, the 2nd brand we chose has been removed (its only this one brand which this happens to, may be clear below)

The hash SHOULD include a ‘V275’ but it has been removed.

The ‘75’ should be V275. There is something removing the V2, I suspect it is due to the Male filter being called ‘V2’.

Is there a known fix for this? I suspect it’s in the javascript for filters stripping something out wrong?

Changed fn.catalog.php line 5145 from:

$pattern = '/(' . $element . '[\.]?)|([\.]?' . $element . ')(?![\d]+)/';


$pattern = '/([\.]?' . $element . ')(?![\d]+)/';

This stops the filters replacing the V2 in 'V275' when removing the 'V2' filter.