Tadej Pogacar retained his lead in the UAE Tour despite being handed a penalty for pushing another rider.
Ireland's Sam Bennett won his second stage of the week-long race in a sprint finish into Dubai for his Deceuninck-Quick Step team.
Race leader Pogacar, 22, was handed a 10-second penalty to add to his overall race time and fined £158 by organisers.
He is now 35 seconds ahead of Britain's Adam Yates, and is still expected to take victory on Saturday.
UAE-Team Emirates' Pogacar finished just behind the sprinters, along with 28-year-old Yates, who is making his debut for Ineos Grenadiers.
But Pogacar, the 2020 Tour de France winner, was penalised along with team-mate Jan Polanc for pushing.
The team say Polanc pushed Pogacar to ensure a safe position in the peloton, and that it did not affect Pogacar's time.
Riders can often be seen using their hands or elbows as they jostle for position when the peloton is travelling at high speed in the final few kilometres of a sprint stage.
Bennett, 30, who took his 50th career win on Wednesday, beat Elia Viviani and Pascal Ackermann to the line.
It was a tense finish to a stage which saw a crash with six of the 165km to go, just before the peloton disappeared through a tunnel and onto the Dubai coast.
Only crashes or high winds splitting the peloton are likely to give Yates a chance to close the gap on Saturday.
Four-time Tour de France winner Chris Froome finished 111th for his new team Israel Start Up Nation, remaining nearly 19 minutes adrift overall.
Saturday's final 147km stage is from Yas Mall to Abu Dhabi Breakwater.
UAE Tour stage 6 result:
1. Sam Bennett (Ire/Deceuninck-Quick Step) 3hrs 32mins 23secs
2. Elia Viviani (Ita/Cofidis) same time
3. Pascal Ackermann (Ger/Bora-Hangrohe)
4. David Dekker (Den/Jumbo-Visma)
5. Fernando Gaviria (Col/UAE-Team Emirates)
6. Giacomo Nizzolo (Ita/Team Qhubeka-Assos)
7. Kaden Groves (Aus/Team Bike Exchange)
8. Andre Greipel (Ger/Israel Start Up Nation)
9. Cees Bol (Ned/DSM)
10. Michael Morkov (Den/Deceuninck-Quick Step)
1. Tadej Pogacar (Slo/UAE-Team Emirates) 20hrs 41mins 59secs
2. Adam Yates (GB/Ineos Grenadiers) +35secs
3. Joao Almeida (Por/Deceuninck-Quick Step) +1min 02secs
4. Chris Harper (Aus/Jumbo-Visma) +1min 44secs
5. Neilson Powless (USA/EF Education-Nippo) +1min 46secs
6. Mattias Jenson Skjelmose (Den/TRek-Segafredo) +2mins 37secs
7. Damiano Caruso (Ita/Bahrain-Victorious) +2mins 39secs
8. Mattia Catteno (Ita/Deceuninck - Quick Step) +3min 53secs
9. Ruben Fernandez (Spa/Cofidis) +4mins 13secs
10. Fausto Masnada (Ita/Deceuninck-Quick Step) +6mins 30secs
41. Chris Froome (GB/Israel Start-Up Nation) +18mins 55secs
49. Mark Donovan (GB/Team DSM) +21mins 29secs
127. Harry Tanfield (GB/Team Qhubeka-Assos) +1hr 1min 16secs