The incident happened on Friday evening, when police said a "suspicious man" was seen on a street in the city's Nordend district.
BBC reports he was wearing a US police uniform and helmet and was thought to be carrying an assault rifle.
The man had in fact been hired for a stag party at a nearby pub.
Police got the man on the ground and handcuffed him before discovering the gun was a toy. He was then released.
"He was carrying a deceptively real-looking toy gun," police said in a statement.
"The 31-year-old underestimated the martial effect of his own outfit."