Joshua Nelson, 36, is accused of smoking on CTA property near the 79th Street Red Line station. When officers approached him, they discovered he was in possession of a gun, police said.
He was charged with one felony count of aggravated unlawful use of a weapon and one misdemeanor count of carrying a firearm on public transportation.
Nelson, of Roseland, was also cited for smoking on CTA property and possession of a laser sight accessory, firearm silencer or muffler.
He is scheduled to appear in bond court Tuesday.