Germany's Tony Martin won the seventh stage time-trial to extend his overall race lead in the Tour of Switzerland.
The Omega Pharma rider, the triple world time-trial champion, finished 22sec ahead of Dutch rider Tom Dumoulin after the 24.5km stage at Worb.
Portugal's two-time defending champion 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.
Home favourite and former world champion Fabian Cancellara took fourth place at 41sec while 2011 Tour de France champion Cadel 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 reportedly serious 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.– AFP