Check your code for:
/includes/classes/shipping.php
Code:
$cheapest = false;
$size = sizeof($rates);
for ($i=0; $i<$size; $i++) {
echo 'Shipping cheapest: ' . $rates[$i]['module'] . ' cost: ' . $cheapest['cost'] . '<br>';
if (is_array($cheapest)) {
// never quote storepickup as lowest - needs to be configured in shipping module
if ($rates[$i]['cost'] < $cheapest['cost'] and $rates[$i]['module'] != 'storepickup' and $rates[$i]['module'] != 'usps') {
$cheapest = $rates[$i];
}
} else {
if ($rates[$i]['module'] != 'storepickup' and $rates[$i]['module'] != 'usps') {
$cheapest = $rates[$i];
}
}
}
$this->notify('NOTIFY_SHIPPING_MODULE_CALCULATE_CHEAPEST', $cheapest);
return $cheapest;
and make sure it matches and add the line in RED ...
Next, logout, then login and try the checkout ...
What do you see from the echo? And, now does the cheapest stop showing as USPS?