A US judge has approved a settlement under which Barclays Bank will be fined $298m (£191m) for sanctions-busting.
Barclays had agreed a settlement with the US Justice Department over dealings with Cuba, Iran, Sudan, and Burma.
However, despite approving the deal, which means Barclays avoids criminal prosecution, Judge Emmet Sullivan still queried if the fine was enough.
It looked like the bank was "getting a free ride here," he said. Barclays has refused to comment on the affair.
Barclays was charged with breaching the International Emergency Economic Powers Act and the Trading with the Enemy Act in dealings between 1995 and 2006.
According to court documents filed in the US on Monday, in 2006 Barclays voluntarily disclosed transactions that violated US sanctions.
The bank began cooperating with a broad review by federal and state prosecutors in 2007.
Under the settlement with the Justice Department, two criminal charges the bank faces will be deferred and ultimately dropped if Barclays demonstrates that it is complying with all US laws.
The deal was, however, criticised by the judge, who said that the "average person probably concludes" that Barclays is "getting a free ride here".