The Conservatives have suffered a hat-trick of council by-election defeats, continuing a recent run of poor results that has seen them shed seats to various opponents.
The party lost two contests on Thursday to the Liberal Democrats and a third to Labour.
The Tories have now made a net loss of 11 council seats since the local elections at the start of May.
The latest defeats saw the Lib Dems win a seat in the Bridlington North ward of East Riding council, which had become vacant following the death of the previous Tory councillor.
The second Lib Dem gain came in the Bernwood ward of Buckinghamshire council, where they took a seat in a by-election triggered by the resignation of its Conservative incumbent.
This contest saw the Tories drop to third place, behind the Lib Dems and the Greens.
Labour gained a seat from the Conservatives in the Midway ward of South Derbyshire council, following the resignation of a former Tory councillor.
In a bumper set of council by-elections on Thursday, the Conservatives also held seats in Croydon and Wyre, while Labour gained a seat from an independent in Middlesbrough and held seats in Liverpool and Newark & Sherwood.
The Conservatives have clocked up 12 losses and one gain since the start of May, giving them a net loss of 11 council seats overall, according to analysis by the PA news agency.
Of the 12 losses, five have been to the Lib Dems, three to Labour, two to the Greens and two to independents.
The one Conservative gain was a seat on Wyre Forest council that was previously held by the Health Concern party, who did not stand in the by-election.