Mark Cavendish narrowly lost out to Andrea Guardini in a sprint finish in the 18th stage of the Giro d'Italia.
Italian Guardini surged past Cavendish in the closing metres of the race, with Roberto Ferrari coming third.
Spaniard Joaquim Rodriguez remains top of the overall standings, 30 seconds ahead of Ryder Hesjedal of Canada.
There are three stages remaining, with gruelling mountain legs to come on Friday and Saturday, before the Giro ends in Milan on Sunday.
Cavendish, targeting the red jersey as the Tour's overall points champion, won the intermediate sprint at the 84km mark.
But he was frustrated at being out-sprinted by Guardini, just failing to win his fourth stage of the race.
Cavendish tweeted: "Pretty angry to be beaten when my team set me up like today.
"I was lazy and left the sprint 50 metres too late. Andrea Guardini was fast!"
However, he was able to extend his advantage in the points race to 29.
Having won the Tour de France points title last year and the same category in the Vuelta a Espana in 2010, the Isle of Man rider is hoping to add a first Giro points title to his collection of Grand Tour successes.
1. Joaquin Rodriguez (Esp/Katusha)
2. Ryder Hesjedal (Can/Garmin-Barracuda) at 30 secs
3. Ivan Basso (Ita/Liquigas) at 1 min 22 secs
4. Michele Scarponi (Ita/Lampre) at 1 min 36 secs
5. Rigoberto Uran Uran (Col/Sky Procycling) at 2 mins 56 secs.