A Bunbury Hospital security guard suffered a broken nose and cuts after being punched by a man overnight.
The fight erupted as the man was leaving the hospital's emergency department just before 11.30pm.
Police said a 43-year-old man was causing a disturbance at the hospital.
A security guard called to intervene was punched in the head by the man as he left the hospital and the fight developed.
A 43-year-old Dalyellup man has been charged with assaulting a public officer.
He is due to appear in Bunbury Magistrates Court today.