Terrible night for UKIP in latest locals losing the two seats it won last time. LDs & CON the gainers
Elmhurst on Aylesbury Vale (UKIP defence, resignation of sitting member)
Result: Liberal Democrat 785 (64% +38%), Labour 151 (12% -10%), Conservative 147 (12% -9%), United Kingdom Independence Party 111 (9% -14%), Green Party 43 (4% -4%)
Liberal Democrat GAIN from United Kingdom Independence Party with a majority of 634 (52%) on a swing of 24% from Labour to Liberal Democrat (26% from UKIP to Lib Dem)
Walcot on Bath and North East Somerset (Lib Dem defence, resignation of sitting member)
Result: Liberal Democrat 750 (49% +12%), Green Party 343 (22%, unchanged), Conservative 339 (22% -1%), Labour 111 (7% -8%)
Liberal Democrat HOLD with a majority of 407 (27%) on a swing of 6% from Green to Liberal Democrat (6.5% from Con to Lib Dem)
Hipperholme and Lightcliffe on Calderdale (Con defence, death of sitting member)
Result: Conservative 1,483 (60% -5%), Liberal Democrat 420 (17% +7%), Labour 407 (17%, unchanged), Green Party 150 (6% -2%)
Conservative HOLD with a majority of 1,063 (43%) on a swing of 6% from Conservative to Liberal Democrat (2.5% from Con to Lab)
St. James on Tendring (Coastal Independent defence, death of sitting member elected as UKIP)
Result: Conservative 371 (48% +13%), United Kingdom Independence Party 174 (23% -16%), Labour 116 (15% -1%), Liberal Democrat 99 (13%, no candidate at last election), Green Party 15 (2%, no candidate at last election)
Conservative GAIN from United Kingdom Independence Party with a majority of 197 (25%) on a swing of 14.5% from United Kingdom Independence Party to Conservative (13% notional swing from Con to Lib Dem)
Compiled by Harry Hayfield