Not found the specific problem with this but have found a fix which appears to work..
In includes/classes/shopping_cart.php after
if ($price_prefix == '+') {
$attributes_price += $option_price;
}
if ($price_prefix == '-') {
$attributes_price -= $option_price;
}
if (($price_prefix == '') and ($option_price > 0))
$attributes_price += tep_adjust_price($option_price,$products_price);
else
$attributes_price += $option_price;
}
add
if ($products_price > 0.00) {
$attributes_price -= $attributes_price / 2;
}
The attribute price then comes out correctly.