Police said a 24-year-old spit in an officer's mouth after he was arrested early Saturday.
The Madison Police Department said officers responded to a disturbance on the city's south side at 1 a.m.
Police took 24-year-old Johnny Martinez into custody at a home on Curry Parkway. Officers were escorting Martinez in handcuffs to the squad car when he spit at the officers, police said.
Some of Martinez' saliva entered an officer's mouth, according to the report.
Madison police Lt. Michael Hanson said the officer was evaluated at a hospital and returned to duty.
"Other officers noted the supreme professionalism the affected officer demonstrated during this disgusting circumstance," Hanson said.
Martinez was charged with battery and throwing bodily fluids at public safety workers, police said.