A play-by-play announcer for CBC is apologizing for mixing up swimmers Michael Phelps and Ryan Lochte, announcing Lochte as the winner of the 200-meter individual medley final even though Phelps blew away his American teammate and the rest of the competition.

Elliotte Friedman quickly realized his mistake on the air when an on-screen graphic appeared showing Phelps had won. His tone immediately changed from excited to gutted and he corrected himself, saying: "I apologize, I got my lanes mixed up."

David Shoalts: Sure, Elliotte Friedman goofed, but he also showed grace under fire

Story continues below advertisement

Related: Rage at CBC commentator a common reaction during 'anti-China Games'

Friedman apologized further on Twitter, saying: "I'm sorry everyone. I blew it. No excuses."

Phelps's win was his fourth gold in Rio and his 22nd overall in the Olympics. Lochte finished fifth, nearly 3 seconds behind Phelps.