By-elections: Spared a rout but still a bad set of results for Tories
Rishi Sunak has been spared becoming the first prime minister since 1968 to lose three by-elections in a day.
But this is still a bad set of results for his party. They have just lost two sizeable majorities, with a historic shift to Labour in Selby and Ainsty and another massive swing to the Lib Dems in Somerton and Frome.
Both results paint a bleak picture for the Conservatives nationally.
They show that Rishi Sunak has been unable to stop the party shedding seats at by-elections.
And they illustrate again that he is struggling to change the electoral weather.
The blow is softened a bit by the surprise result in former PM Boris Johnson's old seat Uxbridge and South Ruislip. Labour thought they would win here and they didn't.
The Conservatives put opposition to the expansion of Ulez (the low emission zone that requires Londoners to pay a daily charge to use less eco-friendly cars) at the heart of their campaign.
That worked - and raises questions for Labour about the future of the scheme in outer London.
The Uxbridge result means the picture this morning is a bit more complicated.
But it looks like this:
The Lib Dems are cock-a-hoop and think they are back in business in the West Country.
Labour aren't as happy as they could have been.
The Conservatives have been spared a rout, but still have a lot to be concerned about.