Vancouver police say they are investigating a possible hate crime after a 24-year-old man was punched in the face several times for singing Christmas carols.

The victim was walking past a Christmas light display in downtown Vancouver on Sunday night when he and a friend broke into song.

Another group of men objected, shouted a gay slur, then punched the victim and ran off.

The victim's friends called 911 and followed the alleged attacker. Police quickly arrested 21-year-old Christopher Mercier, who is charged with one count of assault.

The charges follow a similar incident in September when a gay man was allegedly assaulted while walking with his boyfriend on Davie Street in Vancouver's West End.

Michael Kandola is awaiting trial on aggravated assault charges in that incident, and prosecutors have also suggested they will seek to have Kandola convicted under Canada's hate crime legislation.

Under Section 718.2 of the Criminal Code, a judge can impose a longer sentence when an offence was motivated by bias, prejudice or hate based on race, national or ethnic origin, language, colour, religion, sex, age, mental or physical disability, sexual orientation, or any other similar factor.