Labour MPs are bracing themselves for a disastrous general election result and a resulting battle to try to oust Jeremy Corbyn.

Many fear the Labour leader will try to cling on even if the party, currently 20 points behind the Conservatives in the opinion polls, loses swathes of seats in June.

Labour suffered a significant blow just hours after the poll was called when two MPs, including popular former minister Alan Johnson, said they would not stand again.

The announcements led to speculation that more could follow in coming days and that dozens of Labour MPs could bail out of parliament before a vote is even cast.

North of the border the party’s sole MP in Scotland, Ian Murray, insisted he was confident he could hold on to his Edinburgh South seat.

Scottish Labour sources said that the fight would be between Mr Murray and the SNP.

Mr Murray said that he was the only candidate with a shot at winning who was in touch with his constituents.

"I will be the only candidate to stand up for the people who elected me by saying no to hard Brexit and no to independence," he said.

The SNP's Westminster leader Angus Robertson said that his party intended to fight every seat in Scotland and had come close in Mr Murray's constituency in 2015.

After the election was called, Mr Corbyn refused to say whether or not he would stand down if he loses.

He said he was "campaigning to win” and to become the next Prime Minister and would not be drawn on what would happen if Labour sheds seats.

Mr Corbyn has previously said that it was not "inevitable" that he would resign if he lost a general election.

But one anti-Corbyn MP said:“The mood among Labour MPs is not great. But the one silver lining is that Jeremy Corbyn goes.”

The announcement by Mr Johnson and Middlesbrough South MP MP Tom Blenkinsop brings to four the number of Labour MPs who have quit in recent months.

Jamie Reed and former shadow minister Tristram Hunt both resigned to take up other jobs.

Mr Blenkinsop said that he was standing down in part because of Mr Corbyn.

He said: "I have made no secret about my significant and irreconcilable differences with the current Labour leadership. It is because of these differences I feel I cannot in good faith stand as the Labour candidate for Middlesbrough South and East Cleveland."

For his part Mr Corbyn struck an upbeat note, pointing to a recent spate of policy announcements, adding: “We look forward to showing how Labour will stand up for the people of Britain."

His ally the shadow chancellor John McDonnell told Theresa May "bring it on".

Labour MP Andrew Gwynne, the co-chair of the party’s election campaign, said: “I think we will win. We will fight to win. Not going to speculate on the outcome of an election that is seven weeks away”.

“This election is all to play for”.

But the party faces an uphill challenge, not least because of the EU referendum result.

The party campaigned for a remain vote but many of its traditional backers rejected that call and voted for Brexit instead.

Many Labour MPs also say that Mr Corbyn is hurting them on the doorsteps.

They claim that he is perceived by many voters as weak and ineffective.

That charge is rejected by Corbyn supporters who accuse Labour MPs of creating disunity within the party that is hurting its opinion poll ratings.

Meanwhile, there were reports that Mr Corbyn planned to force Labour MPs to enter a ballot in order to contest their seat.

But the move is thought to be blocked after it was rejected by unions.

The proposal could have forced every Labour MP to secure the backing of more than half of their local party in a so-called trigger ballot.

Mr Johnson, who is understood to have been unhappy with Mr Corbyn's leadership, said that his decision would give him the "opportunity do other things with my life".

He added that his decision to stand down was "best for the party".

Mr Johnson has frequently been tipped as a potential Labour leader, but has never stood for the top job.