I found the fix on the contrib page.
where the instructions said replace on line 244 use this code instead:
//kgt - discount coupons
if( is_object( $this->coupon ) ) {
$applied_discount = 0;
$discount = $this->coupon->calculate_discount( $this->products[$index], $valid_products_count );
if( $discount['applied_discount'] > 0 ) $valid_products_count++;
$shown_price = $this->coupon->calculate_shown_price( $discount, $this->products[$index] );
$this->info['subtotal'] += $shown_price['shown_price'];
$shown_price = $shown_price['actual_shown_price'];
} else {
$shown_price = $currencies->calculate_price($this->products[$index]['final_price'], $this->products[$index]['tax'], $this->products[$index]['qty']);
$this->info['subtotal'] += $shown_price;
}
/**************
$shown_price = tep_add_tax($this->products[$index]['final_price'], $this->products[$index]['tax']) * $this->products[$index]['qty'];
$this->info['subtotal'] += $shown_price;
**************/
//end kgt - discount coupons
this was on osc 2.2 rc2a
works fine now