The young boy attends his son's school, Roosevelt Elementary in Ferndale.
The man has been identified as Peter Morais, who at the time thought the boy was being a bully to his daughter.
LaToya Conner says she didn't know what to think when her son said a classmate's parent spit in his face.
"I was shocked," she said. "My son said that he started hollering and being very mean to him, aggressive and he said he was about to cry.
"He said the guy, when he finished talking, he said 'I know you're not making those faces at me' and turned around and spit in his face."
A spokesperson for the school said in part: "We have reviewed all policies and procedures with law enforcement to ensure the ongoing safety of all of our students."
Police say the man has been charged with assault and battery.
"Mr. Morais came into the school, he was angry, yelling at the boy," said Lt. William Wilson of the Ferndale police. "Reportedly because he felt that the boy was having some conflicts with Mr. Morais' daughter.
"In this confrontation between the adult and the young boy, the man reportedly spit in the young boy's face."
Morais has had other run-ins with the law. According to the Oakland County Prosecutor's Office, in 1990 Morais forced himself on top of a woman inside her Troy home.
The attack stopped when the woman bit him. But Morais was charged with criminal sexual conduct, second degree, placing him on the Michigan Public Sex offender Registry.
Police say Morais still has the right to take his child to and from school.
"I can't believe it," Conner said. "I cannot believe it."
FOX 2 tried to contact Morais at his Ferndale home but was unsuccessful.
One neighbor of Morais says that the alleged spitting incident and criminal sexual conduct charge, seem out of character.
"You have a tendency to think that people would be a bit odd or creepy - and quite the opposite," he said. "He's super-friendly, the normal family guy."
Morais pleaded not guilty at his arraignment earlier this week in 43rd District Court. His next court date is scheduled for April.
He faces a maximum penalty of a $500 fine and or three months in jail.
"I just want justice to be served," Conner said.