Germany's Tony Martin won Friday's seventh stage time-trial to extend his overall race lead in the Tour of Switzerland.
But the way is still clear 2011 Tour de France winner Cadel Evans to challenge on the remaining mountain stages.
Omega Pharma's Martin, the reigning world time-trial champion, finished 22sec ahead of Dutch rider Tom Dumoulin after the 24.5km stage at Worb.
Portugal's Rui Costa was third fastest, 28sec behind Martin.
It was the German's second stage win after winning Saturday's opening time-trial.
He extended his overall lead to 28sec over Dumoulin while Costa slipped to 1min 05sec adrift heading into the final two mountain stages that feature summit finishes.
"I should have gained another minute," said the 29-year-old who now faces a stiff challenge to hang on to his lead by the end of Sunday's racing.
Former world champion and home favourite Fabian Cancellara took fourth place at 41sec while Australia's Evans clocked the 11th fastest time at 1min 16sec.
Evans lies 15th overall and within touching distance of the leaders at 2min 07sec shy of Martin.
Colombia's ace climber Sergio Henao, who finished ninth on the 2012 Giro d'Italia, crashed in training before the stage and suffered a knee injury.
The Sky rider was expected to play a supporting role in the defence of British rider Chris Froome's Tour de France title, when the race begins in Leeds, England, on July 5, but that could now be in doubt.
Former world champion Tom Boonen of Belgium, who is still suffering from a hip injury suffered in a crash last week, also failed to make the starting line.
Saturday's eighth and penultimate stage is a 219km ride from Delemont to Verbier, which finishes at the Valais ski resort.
Share

