When a convicted sex offender tried to abduct a young boy at a northwest suburban playground Friday afternoon, two adults came to the rescue, battling the man until he freed the boy and police arrived.

Police responded to a fight in progress near the playground at Clay and Bagley streets in Woodstock about 12:43 p.m. Friday, according to Woodstock police. They had to physically separate three men who appeared to be brawling.

Witnesses said one of the men, later identified as 39-year-old Kevin A. Sorensen of Woodstock, “pulled a 4-year-old boy off his bicycle near the Olson Play Park, picked him up and began to run off with him,” police said.

“The boy and his friends began screaming,” alerting adults in the area to the situation.

Two men “physically freed the boy from the man and restrained him” until officers arrived, police said.

Sorensen was arrested without incident and detectives later learned he was a “convicted child sexual offender who was no longer required to register as such,” police said.

“Because of the quick, heroic actions of the good Samaritans, responding officers and detectives, the child was not physically injured,” Police Chief John Lieb said in a statement.

Sorensen was charged with aggravated kidnapping and multiple counts of aggravated battery, all felonies. He was also charged with unlawful restraint and aggravated criminal sexual abuse, police said. He was taken to the McHenry County Jail to await a bond hearing.