Olympic 800 metres champion David Rudisha suffered a shock defeat at the Weltklasse Diamond League meeting on Thursday but Usain Bolt braved the cold to win the 200.
Kenyan Rudisha, who also set a new world record to win gold in London, lost out to Ethiopia's Mohammed Aman on a chilly and wet evening in Zurich.
Rudisha, assisted by a pacemaker, sped away on the first lap but clearly went too early as the pack caught up with him around 200 metres from the end and Aman passed him on the bend to win in one minute 42.53.
"My legs felt tired and I cannot run good if the weather is not good," Rudisha told reporters. "I hoped for a fast race here and I'm a little disappointed."
Double Olympic champion Bolt had no such problems as he won the 200 metres in a respectable 19.66 seconds, ahead of fellow Jamaicans Nickel Ashmeade in a personal best 19.85 and Jason Young in 20.08.
Former world champion Tyson Gay was disqualified for a false start as Yohan Blake won the 100 metres in an impressive 9.76 seconds.
Blake's fellow Jamaican Nesta Carter was second in 9.95 and American Ryan Bailey third in 9.97.
"I am not at all surprised that after the Olympics I am coming out so strong and so fast because my coach has a plan for me," said Blake. "Next year I can even be better.
"And I am not surprised that I can run so fast in bad weather because I am a beast, bad weather cannot stop me... the weather was pretty tough and I'm looking forward to compete in warm weather."
Olympic champion Shelly-Ann Fraser-Price easily won women's 100 metres.
The Jamaican beat Carmelita Jeter into second place after losing out to the American twice since the Olympics in Lausanne and Birmingham.