Shipping not calculating properly for bulk buy offers

We sell our products by half pallet or full pallet generally, and shipping is based on this (we have a complex matrix that calculates for different postcodes). So if you buy 5 pallets of a product, you pay 5 x pallet shipping rate for your postcode. For every extra pallet of items added to the cart, another pallet shipping rate is added.

For some products we have bulk offers with a quantity that equates to a multiple of a pallet. In the below example you can see that a bulk offer is 3 pallets (3 x 400 units). At checkout, shipping is automatically calculated at 3 x pallet rate. So shipping is correct when purchasing a ‘bulk offer’.

However, there is a problem if a customer orders more than one bulk offer. So for example using the product above, they could order 2 bulk offers - which is 6 pallets. Shipping should be 6 x pallet rate, but it still comes up as 3 x pallet rate in the cart.

You can buy 1 bulk offer of one product and 1 bulk offer of another product together and shipping is calculated correctly. So the error only occurs when you buy more than 1 bulk offer of the same product.

Where do I even look to solve this problem? Our web people spent hours on it and couldn’t find what was wrong.
Thanks.