An elderly man was attacked by a beggar outside a supermarket.
The 23-year-old alleged attacker had to be dragged off his victim outside New World St Martins on Tuesday.
He then ran off and was found by police 10 minutes later in St Martins Rd.
St Martins Pharmacy pharmacist Johnny Lai went outside when he heard screaming.
He saw blood coming from the elderly man's head.
"I heard other people talking about it saying the homeless guy was quite unstable," he said.
New World St Martins declined to comment.
A police spokeswoman said the victim was not seriously injured and members of the public attended to him.
The beggar has been charged with common assault and is due to appear in court on Monday.
One witness said there was a crowd of 12 people gathered around the two men and the homeless man had to be flung off the elderly man who was left sprawled across the ground.
He said the attacker was "screaming his head off".
"The homeless fellow, I have seen him around here heaps, he has always been sitting around shops with his hat out trying to get money," the witness said.
"I did hospitality for 20 years and that guy had a bit of an edge. If he came into a bar I would not have served him."