British Airways passengers were mistakenly flown to Edinburgh rather than Dusseldorf due to a paperwork error.
The pilot of Flight BA3271 took off from London City airport shortly after 7.30am on Monday and followed instructions to fly to the Scottish capital instead of the German city.
The destinations are more than 500 miles apart.
After the flight crew was alerted to the mistake, the British Aerospace 146 plane was refuelled and then flown to Dusseldorf, where it touched down more than three-and-a-half hours behind schedule.
The pilot apparently asked passengers to raise their hands if they wanted to go to Dusseldorf, after the mistake came to his attention - to which everyone raised their hands.
German firm WDL Aviation operated the flight on behalf of BA CityFlyer, which is a subsidiary of British Airways.
An investigation has been launched by the firms to find out why the paperwork error occurred.
A British Airways spokesman said: "We are working with WDL Aviation, who operated this flight on behalf of British Airways, to establish why the incorrect flight plan was filed.
"We have apologised to customers for this interruption to their journey and will be contacting them all individually."
WDL Aviation said in a statement: "We are working closely with the authorities to investigate how the obviously unfortunate mix-up of flight schedules could occur.
"At no time has the safety of passengers been compromised.
"We flew the passengers on the flight with number BA3271 to Dusseldorf after the involuntary stopover in Edinburgh."