A suspect has been charged after a teenage girl says she was attacked on a commuter train in Vancouver because she was wearing a hijab.

Noor Fadel, 17, was taking the SkyTrain around 10 p.m. on Monday night when a stranger started yelling at her in Arabic.

“He was telling me he was going to kill me, he was going to kill all Muslims, he told me to go back to my country,” Fadel says.

“He told me to choke, and as he said that to me he tried to grab my head and force it on his crotch,” she said.

Fadel says the man grabbed her hijab and struck her across the face. “This was extreme,” she said. “This guy wanted to hurt me.”

Most of her fellow passengers did nothing. But one man, Jake Taylor, who Fadel calls “her hero,” intervened.

Taylor says he heard the man yelling at Fadel in a foreign language. When he saw the man grab her head, he jumped up to help.

“Before I could even get there, he smacked her right in the head, right across the face or whatever,” he said.

“I went over and gave him a shove and told him to ‘get the ‘F’ out of here,’” he said. The man got off at the next stop.

Fadel took photos of him, got off at the stop after that and called police. Taylor stayed with Fadel until police showed up.

Spokeswoman Anne Drennan says Transit Police used video surveillance to track the suspect’s movements. She says he boarded another train after the incident and headed to the airport, where he was taken into custody.

Drennan said transit police “would like to commend the man who intervened.”

“If he had not done that, this incident could have been much more serious than it already was,” she said.

Drennan said that no one on the train pushed the emergency alarm strips or used emergency intercoms.

“With this man yelling and being so aggressive, people were perhaps frightened,” she said.

“We want people to know that you can let us know something is wrong. One is pushing the yellow alarm strip… another is pushing the intercom button… another you can do without anybody knowing what you can do, is use the text code.”

Pierre Belzan, 46, of no fixed address, has been charged with one count of threatening to cause bodily harm and one count of assault.

None of the charges against him have been tested in court.

With a report from CTV Vancouver