David Cameron has become the fifth former British prime minister to criticise a new bill attempting to over-ride the Brexit withdrawal agreement.
The Internal Market Bill will come before MPs later, with the government calling it an “insurance policy”.
Mr Cameron said he had “misgivings” over it and breaking an international treaty should be the “final resort”.
Former Tory PMs Theresa May and John Major, and Labour’s Tony Blair and Gordon Brown have condemned the plan.
Earlier, Policing Minister Kit Malthouse called it a “practical” step.
He echoed comments made by Justice Secretary Robert Buckland on Sunday, who said the bill was there just in case the UK and EU do not agree a post-Brexit trade deal.
The UK left the EU on 31 January, having negotiated and signed the withdrawal agreement with the bloc.
The two sides are now in the closing weeks of negotiations for a post-Brexit trade deal before the transition period ends on 31 December – with informal talks taking place in Brussels this week.
A key part of the withdrawal agreement, which is now an international treaty, was the Northern Ireland Protocol, designed to prevent a hard border returning to the island of Ireland.
The Internal Market Bill proposed by the government would override that part of that agreement when it came to goods and would allow the UK to modify or re- interpret “state aid” rules on subsidies for firms in Northern Ireland, in the event of the two sides not agreeing a future trade deal.
Last week, Northern Ireland Secretary Brandon Lewis said the bill would “break international law” in a “specific and limited way”, leading to swathes of criticism from all sides of the political spectrum.