Mark Cavendish moved back into the overall lead of the Tour of Qatar after previous gold jersey-wearer Edvald Boasson Hagen suffered a late puncture on stage four.
Boasson Hagen (Dimension Data) had to stop for a bike change just as the peloton was beginning to break apart with about 8km remaining and he was unable to catch back up, eventually finishing 45 seconds down.
Alexander Kristoff (Katusha) claimed his second win of this year's race by beating Greg Van Avermaet (BMC Racing) into second place and Jacopo Guarnieri (Katusha) in third in a reduced-bunch sprint finish contested by only a dozen riders.
Cavendish (Dimension Data) was among the leaders but found himself pinned to the back of the group by a crosswind in the final 1km and could only finish fifth.
However, thanks to Boasson Hagen's misfortune, the Manxman moved back to the top of the general classification and is now two seconds ahead of second-placed Van Avermaet, with Manuel Quinziato (BMC Racing) six seconds adrift in third.
Kristoff is now fourth overall, nine seconds down, while Boasson Hagen falls to fifth place, 19 seconds off the pace.
Kristoff said: "The team did a really good job in the final kilometre, putting me with really good speed into the sprint. For me it was just to finish it off and keep the other guys behind me. I knew Cavendish was there but I think he was stuck a bit behind, so it went perfectly for our team."
The five-day race ends on Friday with a 114km fifth stage ending at the Doha Corniche.
Ten, six and four bonus seconds are on offer to the first three riders over the finish line, while three, two and one bonus seconds are available at each of the day's two intermediate sprints.
Kristoff added: "It [the general classification] will be decided tomorrow. Cavendish is leading the race and he is not a slow man, so if it comes down to bonus seconds I think, if he's not unlucky, he will protect his lead, but it is quite open."
Stage four result
1 Alexander Kristoff (Nor) Katusha, 3:57:12
2 Greg Van Avermaet (Bel) BMC Racing, same time
3 Jacopo Guarnieri (Ita) Katusha, st
4 Sam Bennett (Irl) Bora-Argon 18, st
5 Mark Cavendish (GB) Dimension Data, st
6 Manuel Quinziato (Ita) BMC Racing, st
7 Viacheslav Kuznetsov (Rus) Katusha, +6secs
8 Soren Kragh Andersen (Den) Giant-Alpecin, +8
9 Moreno Hofland (Ned) LottoNL-Jumbo, +9
10 Michael Morkov (Den) Katusha, st
Selected other
34 Edvald Boasson Hagen (Nor) Dimension Data, +45
General classification
1 Mark Cavendish (GB) Dimension Data, 10:51:13
2 Greg Van Avermaet (Bel) BMC Racing, +2secs
3 Manuel Quinziato (Ita) BMC Racing, +6
4 Alexander Kristoff (Nor) Katusha, +9
5 Edvald Boasson Hagen (Nor) Dimension Data, +19
6 Soren Kragh Andersen (Den) Giant-Alpecin, +30
7 Sam Bennett (Irl) Bora-Argon 18, +41
8 Sven Erik Bystrom (Nor) Katusha, +49
9 Viacheslav Kuznetsov (Rus) Katusha, +50
10 Michael Schar (Sui) BMC Racing, +58