Stage 10 of the Tour de France was paused for over 10 minutes due to a protest on the road.
Alberto Bettiol was leading the 148-kilometre stage from Morzine les Portes du Soleil to Megève.with just 35.7 kilometres to go.
Bettiol rode through a cloud of pink smoke left by a flare on the side of the road, and was then asked to pull over by race organisers.
The 28-year-old Italian was leading a group of 24 riders by 20 seconds, with the peloton 7 minutes and 10 seconds further back when the stage was neutralised.
The activists, one of whom wore a t-shirt saying "We have 989 days left", sat on the road 36 kilometres from the finish in Megeve.
The protesters had chained themselves together and were sitting in the middle of the road.
Photos showed French police guarding the protesters on the side of the road after they had been cleared.
While the race was suspended, most riders in the peloton relaxed, while EF Education rider Bettiol rode in circles around a race car to keep his legs warm.
The time gaps were re-established by race organisers once the race got back underway but Bettiol could not hold on.
The stage saw an exciting dash to the finish as Denmark's Magnus Cort, a teammate of Bettiol, pipped Queenslander Nicholas Schultz of BikeExchange-Jayco in a photo finish at the end of a brutal uphill sprint.
It was Cort's second career stage win on the Tour and left Schultz with mixed emotions.
"It was almost perfect," Schultz said.
"I'm happy with second, but I'm also really upset, it's not everyday you get to fight for a Tour de France stage victory."
Two-time defending champion Tadej Pogacar, who has lost two teammates after they departed the race following positive COVID-19 tests since the start in Denmark, retained the overall leader's yellow jersey.
He has an 11-second lead over Germany's Leonard Kamna.
Earlier in the day, Australian Luke Durbridge was forced to withdraw after testing positive for COVID-19.
His Team BikeExchange-Jayco said Durbridge had mild symptoms.
His withdrawal comes a day after fellow Australian Ben O'Connor abandoned due to injury.