John Bishop normally doesn't take I-295 to Route 73 home, but he was on the highway around 3 p.m. last Thursday because he had to run an errand.
Just as he was about to merge something caught his eye.
RELATED: Good Samaritan rescues driver from burning car in Florida
"I saw arms and black hair. He just grabbed her and yanked her forcefully backwards. The moment she screamed, she was right next to my truck window," he said.
Bishop knew he could call 911 and wait for help, running the risk it would be too late, or he could act immediately and risk his own life.
He chose to act.
"I yelled and I said, 'Hey get off of her!' and then he started getting up," Bishop recalled.
RELATED: Good Samaritan, Washington Twp. police help return lost $2,500 to owner
After parking on the shoulder, Bishop ran into the woods after the suspect, Donald Cramer Jr., and saw him on top of the victim.
Not thinking of his own safety he intervened, triggering a physical altercation between him and Cramer, who state police say was armed.
"I was thinking 'it's either going to be him or me, and it's not going to be me,'" he said. "He hit the rail with his stomach and I just grabbed him by the back of his pants and flipped him over the street and jumped on him."
Out near the busy highway, three firemen passing by stopped to help Bishop hold Cramer down until police arrived.
The victim, shaken by the encounter, had apparently missed her stop and was walking back to her car after getting off at the wrong bus stop.
RELATED: Good Samaritan stops child kidnapping suspect from escaping in San Francisco
"Do you ever think, 'what if I hadn't seen that?'" Action News reporter Christie Ileto asked Bishop.
"I think she would have been raped or killed," Bishop replied. "The big man put me there for some reason."
Admitting he doesn't like being hailed a hero, Bishop said, "The cops are the heroes. I just helped somebody out."
Cramer is charged with attempted sexual assault, among other offenses.