In the face of large Labour opinion poll leads, the signal from the voters is still at amber for the prime minister. Gordon Brown's party made six gains – four of them from Tories – in September's council by-elections. And three contests for Cheshire, Kent and Leicestershire CCs averaged just under a 5% swing to Tories since then. There was evidence of variable regional trends, with Labour doing well in the North West and West Midlands, and Tories performing strongly in parts of the Home Counties. Labour's most dramatic triumph was in Worcester, where they gained a 17.6% swing, ousting Conservatives from overall control. It boosted the party's hopes of holding on to the city's marginal Commons constituency in any early poll. Last month: l Tories lost their outright majority at Worcester City, defended overall control at Cheshire CC, and gained it at Mendip DC. They gained from Labour at Sunderland City and from the Lib Dems at Mendip DC and Pembrokeshire CC. They defended seats at Cheshire CC and Tunbridge Wells BC. l Labour gained from the Tories at Birmingham City, Rossendale BC (two) and Worcester City, from the Liberal Democrats at Liverpool City and Nuneaton and Bedworth BC, and from independent at Mansfield DC. They defended seats at Brent LBC, Caerphilly CBC, Chester-le-Street DC, Conwy CBC, Copeland BC, Dover DC (two), Kent CC, Northamptonshire CC, Portsmouth City and Wigan MBC. l Liberal Democrats gained from Tories at Chelmsford BC, Rossendale BC and York City and from independent at Lewisham LBC. They defended a Bromley LBC seat. Independent gained from Tory at Southend-on-Sea BC. So far this year, Labour have a three-seat net gain in by-elections, Liberal Democrats four and the SNP one. Tories have lost five and independent and others three.