Passengers only found out about the mishap when the pilot said the plane was coming in to land in Edinburgh, which is around 500 miles (800 kilometres) from Dusseldorf.
A British Airways plane flew by mistake from London to Edinburgh instead of Dusseldorf in Germany on Monday.
After the crew realised the mistake, the plane was refuelled and flown to Dusseldorf, landing in Germany with a delay of more than three and a half hours.
The flight was operated by German leasing company WDL Aviation on behalf of the British Airways subsidiary airline BA CityFlyer. The incorrect flight plan was filed at WDL Aviation’s offices in Germany.
“We are working with WDL Aviation, who operated this flight on behalf of British Airways, to establish why the incorrect flight plan was filed,” a spokesman said.