Boris Johnson has condemned "sneering" at Starbucks after the firm volunteered to pay millions of pounds more tax.
The London Mayor defended companies like the coffee chain who had been minimising their bills to the Exchequer, insisting they had a duty to shareholders.
Speaking on Sky News's Murnaghan programme, Mr Johnson admitted that Starbucks had got into a "hell of a mess".
But he said:
Imagine that you are the corporate finance director of one of these companies.
Your job is to look at the law as it stands. Your fiduciary duty to your shareholders is to minimise your tax exposure.
It is not to say, 'this looks pretty bad, we had better write a huge cheque to the Government ex-gratia and show that we are good citizens'.
Companies do not work like that.
Now that Starbucks has stepped up to the plate and announced they are going to be making this payment I think rather than everybody sneering at them people should welcome that.
My point is it is a bit unfair to bash the companies and then sneer at them when they try to do good.
More top news
Flowers in the shape of a musical note and the words "Unforgettable, That's What You Are" adorned the coffin of the late music producer.
A teenager who brutally stabbed to death two strangers in Colchester has been detained for a minimum of 27 years.
A library book due to be returned in 1948 has turned up - 67 years late.