Zac Efron was punched in the face Wednesday night by a transient in a sketchy part of downtown Los Angeles after tossing a bottle from his parked car, TMZ reports.
Efron and a man identified as his bodyguard were found by law enforcement fighting with several men under a highway overpass, police sources told the web site.
Efron told police he had run out of gas, and had thrown a bottle from his window, which the homeless men took as a threat. He said he had been hit hard in the mouth during the fight.
Police told TMZ nobody was arrested because the altercation was "mutual combat."
Efron recently broke his jaw, saying he had slipped on a puddle. He was also reportedly in rehab twice last year for drug problems.
FOX411s' e-mail to Efron's rep was not immediately returned.