Canada's embattled Prime Minister Paul Martin has promised to call a general election once a corruption inquiry involving his Liberal Party is over.
Paul Martin has sought to distance himself from the scandal
Investigators in the cash-for-contracts scandal are expected to report their findings in mid-December, meaning a poll would be held in January.
But there are doubts Mr Martin will be able to hold on to power until then.
The three opposition parties are threatening to force a confidence motion in May.
An inquiry into the affair has heard that Liberals in Quebec demanded kickbacks for rewarding advertising contracts.
Money earmarked for a programme to counter separatism in French-speaking Quebec was allegedly paid to Liberal-friendly advertising firms, who did little work in return.
On Thursday, Mr Martin apologised for his party's misdemeanours, calling the situation an "unjustifiable mess".
"Those who are in power are to be held responsible, and that includes me," he said on national television.
"I was the minister of finance and knowing what I have learned in the past year, I am sorry that I was not more vigilant."
He said those who had "violated the public trust" would be "identified and will pay the consequences".
He said the poll would be called within 30 days of the judicial inquiry issuing its final report.
Mr Martin runs a minority government, having lost his majority in the Canadian House of Commons in last June's election because of public anger at the scandal.
If the parties - the Conservatives, Bloc Quebecois and New Democrats - remain united, Mr Martin may have to go to the polls in June.
BBC correspondent in Toronto Lee Carter said the opposition was angry that the prime minister had used the public airwaves to argue his case.
Mr Martin has not been personally implicated in the affair, though he was the finance minister at the time.