Usain Bolt wasn’t dominant, but he didn’t need to be. The six-time Olympic champion came from behind, as usual, to beat a field that included Justin Gatlin at a Diamond League meeting in Zurich on Thursday.

Bolt won in 9.90 seconds, overcoming countryman Nickel Ashmeade (9.94) and Gatlin (9.96) over the final 50 meters. Bolt and Gatlin went gold-silver at the World Championships in Moscow earlier this month, where Bolt won in 9.77 to Gatlin’s 9.85.

“I wasn’t as fit,” Bolt told Swiss broadcaster SRF Sport. “The more the season goes, the more tired I get. … I’m just trying to get through the season injury free.”

Bolt’s reaction time — .186 — was the slowest in the field of nine. Ashmeade burst out in .123.

Bolt’s pre-race antics included a Bruce Lee-type display of hand-waving martial arts. After he won, Bolt threw his congratulatory flowers into the crowd, over his back wedding style, and signed autographs. Some fans held up a sign offering free chocolate to Bolt. It is not known if Bolt took them up on the request.

Bolt is expected to race in the Diamond League finale in Brussels, Belgium, on Sept. 6.

“I have to go and prepare, see what I can to do improve my start,” Bolt said.

Other notable results from Zurich:

Shelly-Ann Fraser-Pryce, just as dominant as Bolt in the women’s sprints, won the 200 meters with ease in 22.40. The field was missing Olympic champion Allyson Felix, out for the rest of the season with a hamstring injury. Murielle Ahoure, second to Fraser-Pryce at worlds, was second again in Zurich, in 22.66.

In the men’s 400, world champion LaShawn Merritt got the better of Grenadian rival Kirani James again, 44.13 to 44.32, as they went one-two.

American David Oliver backed up his world title by beating a world-class field again in the 110-meter hurdles despite getting hit with a piece of a broken hurdle from another runner. Oliver, who failed to make the 2012 Olympic team, crossed first in 13.12 seconds, leading a one-two-three U.S. finish with Ryan Wilson (13.24) and Jason Richardson (13.26) just behind. The Olympic champion and world record holder, Aries Merritt had another disappointing showing, getting sixth in 13.34, his same placement at worlds.

South African Caster Semenya, she of the gender controversy in 2009 and 2010, ran a season’s best in the 800 meters, 2:01.83, but it was only good enough for seventh. Semenya, the 2009 world champion, has battled injury this season and didn’t run a time fast enough to qualify for worlds.

World silver medalist Nick Symmonds won the 800 in 1:43.56. The race was missing Olympic champion and world record holder Kenyan David Rudisha and the man who clipped Symmonds in Moscow, Ethiopian Mohammed Aman.

In the women’s 5,000, Ethiopian Olympic and world champion Meseret Defar (14:32.83)held off countrywoman Tirunesh Dibaba (14:34.82), the Olympic and world champion in the 10,000, in what was reported to be the first time in seven years.

Ukrainian high jump world champion Bohdan Bondarenko won with ease, but he failed in an attempt to break Javier Sotomayor‘s 20-year-old world record for the third time this summer.