A suspect who allegedly stole a taxi, crashed it and then punched someone in the head at a ferry terminal over the weekend is in police custody thanks to the efforts of a Good Samaritan.

The RCMP said a 36-year-old man hopped a ferry from Horseshoe Bay to Nanaimo on Saturday, and after arriving at his destination proceeded to jump into an idling cab while the driver stood outside.

Within moments, the taxi had crashed into the front of a waiting bus. Const. Gary O’Brien said the suspect backed up, sped off again and crashed a second time.

“The taxi went approximately 30 metres before it jumped the curb, and crashed through a chain link fence bringing it to a stop,” O’Brien said in a release.

A number of foot passengers gave chase, but the driver fled – allegedly slugging a BC Ferries employee along the way. O’Brien said a “much larger man” was eventually able to restrain the alleged taxi thief, and held him until police arrived at the scene.

The suspect, who has no fixed address, was arrested for assault, dangerous operation of a motor vehicle, and the taxi theft. He’s being held in custody pending a court appearance next week.

O’Brien said it’s unclear why he allegedly stole the cab in the first place.

“Officers attempted to learn why this person attempted to take the taxi but he was less than cooperative and we may never know why,” O’Brien said.

The BC Ferries employee wasn’t seriously hurt.