Using ML 9.1.xx. We have our free shipping set to over $100 for USA mainland standard. We want to give people the option to choose priority anyway so we have rate selection turned on. Otherwise we have fixed rates and ship rates by weight.

If you order a single product over $100 it works as expected.

If you order multiple items that have weights over 0 and FreeShipping=0 then it works as expected.

If you have only freeshipping=0 or weight=0 multiple items in your cart it works as expected.

However, it breaks when you have mixed items in your cart. IE one with weight=0 or freeshipping=0 AND items where weight>0 and/or freeshipping=1 whose total is less than $100.

So for example:

helmet 99.99 with weight=3.5 freeshipping=1
helmet shield 9.99 weight=0.5, freeshipping=0
Total is 109.98 should be free shipping cuz over $100 // but no !! suddenly its giving me shipping rates for carts with weight of 4.

WTH is going on here and how can I fix it. We have tested it extensively and it does this every time.