The US troops in Iraq have shot dead a civilian who approached their patrol near the town of Miqdadiya, north of Baghdad, the military said.
One report quoting the military said it the man had a cast on his broken arm under his jacket, which troops had mistaken for an explosives vest.
He had ignored instructions to stop and a warning shot, the military said.
There have been a series of bomb attacks in the Muqdadiyah area, which the US has blamed on al-Qaeda in Iraq.
Iraqi police said the man was elderly, hard of hearing and suffering from mental disabilities, although the US military could not confirm this.
“There was nothing suspicious found on him but the incident is under investigation,” said military spokesman Maj Brad Leighton.
“It was a mistake… an unfortunate incident,” he added.
An American soldier makes a mistake and an innocent civilian dies. That’s a high price to pay for incompetence.