Alex Holmes is in custody, charged with robbery. When coming back to the store to apologize, he also returned all of the money.
Police say Holmes told them that he felt bad.
"I don't know what to say. I've been in law enforcement for 15 years and this has never happened," said Detective Charles Leuver, Hinsdale Police Department.
Leuver was assigned to investigate the armed robbery early Tuesday morning. A robber with a gun walked to the front of the store and held up the clerk.
"He takes the money, walks her back to the back and walks out the back door," said Leuver.
The robber fled and police were eventually called. Twenty four hours later, the detective got a very unusual phone call.
"I thought everybody was pulling a joke on me. I get called to the store to report that same gentleman came back last night, almost 24 hours to the minute, and returned the cash," said Leuver.
Police say the suspect returned every penny of it, including change in a pill bottle.
All of it was caught on surveillance tape. After the suspect returned the money to the same clerk he held up 24 hours earlier, police say the suspect began to apologize to the woman.
"He's not armed, walks around the corner, has a conversation with her, basically tells her he's sorry and asks if he can give her a hug," said Leuver.
The clerk would not hug back. Because she did not speak English very well, the robber wrote her a note saying that he was sorry that he took her money.
On Wednesday night, Holmes, 17, was charged with one count of aggravated robbery.
When Holmes left the Dunkin Donuts the second time, he left on his bicycle. Two police officers saw him riding through town and took him into custody.
Holmes is Hinsdale resident, and police say that he has a prior juvenile record.