A British judge has finally accepted a controversial plea bargain reached by the Serious Fraud Office and arms company BAE Systems, but only after heavily criticizing the terms of the deal.

Justice Bean said the plea agreement was “loosely and perhaps hastily drafted” and he was “surprised” that the SFO had given BAE “a blanket indemnity for all offences committed in the past, whether disclosed or otherwise.”

The judge pointed out in his ruling that the U.S. Department of Justice, which has reached its own settlement with BAE over related offences, limited its non-prosecution offer to past behavior that BAE had disclosed.

Justice Bean also questioned why the SFO had decided not to charge any individuals in the case.

The SFO announced that it had reached a plea agreement with BAE back in February 2010, but legal challenges from anti-bribery campaigners delayed its acceptance by the courts.

Plea bargains are still a new feature in British law and the BAE deal outraged campaigners, who argued that the SFO had let the company off lightly.

The agency had spent years investigating allegations that BAE used bribery and corruption to win arms deals around the world. But in the end the company agreed to plea guilty to accounting offenses related to just one country.

Moreover, while the DoJ agreed a $400m fine with the company, BAE agreed to pay just £30m ($45m) in the United Kingdom, comprising compensation to Tanzania, the country affected by its accounting offenses, minus any fine that the courts imposed.

The judge said this week that the way the fine and compensation element was structured “places moral pressure on the court to keep the fine to a minimum so reparation is kept at a maximum”.

Passing sentence, he limited the fine to £500,000 ($770,635), so the bulk of the £30m ($46m) settlement—after costs—would benefit the people of Tanzania.