ST. LOUIS (KSDK) - A man with decades of experience in law enforcement is charged with impersonating an officer.

When Caseyville Police pulled over Harold Johnson on Old Country Inn Drive, they say Johnson had a badge, a police ID and a department-issued, loaded gun. What he didn't have was the right to carry all that stuff.

Johnson had been fired from the Brooklyn, Ill. police department over the summer. The chief tells me he had refused to turn over his equipment.

So at around 1:30 a.m. Sunday, when police in Caseyville pulled Johnson over for improper lane usage, they say he showed them his badge and told them he was a police officer. He also had the loaded gun between the seats of his 1999 truck.

Police arrested Johnson for drunk driving.

Later at the police station, Caseyville's chief says Johnson's story didn't add up.

"He indicated that he was still a working police officer but in the course of his statement he indicated that he was currently drawing an unemployment," said Caseyville Police Chief Jose Alvarez.

Officers had called the Brooklyn police chief as well, so they knew he no longer worked there.

Johnson is also charged with impersonating a police officer. The Brooklyn chief tells me Johnson was fired for refusing to show up to work on the midnight shifts.

Johnson does not deny that he draws unemployment, but he says he is still an employee of the village of Brooklyn and has not been officially fired.

He says the chief that he is at odds with simply refuses to put him on the schedule.

Johnson also denies driving drunk.