Great Britain's Jonny Brownlee finished fourth as Javier Gomez won the Montreal event of the World Triathlon Series.
Five-time world champion Gomez broke clear with around 7km to go to claim the Olympic distance race in one hour 47 minutes 52 seconds.
The Spaniard finished 15 seconds ahead of Norway's Kristian Blummenfelt.
Brownlee had been in a group with Gomez and Blummenfelt but faded and was passed into third by South Africa's Richard Murray on the final lap.
The Briton, 27, also finished fourth in Edmonton last week and is yet to win a race in this year's series, but moves up three places to seventh in the overall standings.
"I had a really good swim. On the bike it was set up perfectly, but I don't know what's wrong with me, I felt really tired and really flat," Brownlee said.
"I should be winning that kind of race, not coming fourth like that, but well done to Javier and Kristian, they worked hard on the bike.
"I was off my best today. I'm training all right, but I'm not racing well. I'll carry on racing for the rest of the year, but at some point I need some good rest."
Compatriot Gordon Benson was 18th, but Grant Sheldon did not finish, while there were no British athletes in the women's race, won by Ashleigh Gentle.
The Australian crossed the line 23 seconds ahead of Bermuda's Flora Duffy, with New Zealand's Andrea Hewitt in third.
Duffy, 29, has now extended her lead in the women's rankings to 654 points over Gentle, 26, who moves into second overall with victory in Canada.
A second victory of the season for Gomez, 34, together with four for defending champion Mario Mola, 27, means Spanish athletes have won six of the seven races so far this year - Britain's Alistair Brownlee won the other in Leeds.
Despite finishing 14th in Montreal, Mola still leads the men's standings on 3,664 points, with Gomez moving into second on 3,361 and Murray up to third on 3,197.
Two of the nine races remain this season. Stockholm hosts an event on 26-27 August, with 800 points awarded to the winner.
The WTS Grand Final takes place in Rotterdam in September, with 1,200 points for the winner.