The flight on Monday seemed to go perfectly well, until passengers realized that their plane had landed in both the wrong city and the wrong country.
The British Airways flight from London City Airport was supposed to head to Duesseldorf, Germany, but ended up in Edinburgh, the capital of Scotland.
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 kilometers) from Duesseldorf.
After the crew realized the mistake, the plane was refuelled and flown to Duesseldorf, landing in Germany with a delay of more than three and a half hours.
The airline said Monday the problem started when an incorrect flight plan was filed by WDL Aviation, which operated the flight on behalf of British Airways. Officials say the pilot followed the flight plan for Edinburgh, and that air traffic control officials also were following the same flight plan and saw nothing amiss.
"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.
BA said it was trying to establish how the timetabling error could have been made, and stressed that passengers' security was never at risk.
"We have apologized to customers for this interruption to their journey and will be contacting them all individually," BA said in a statement.
WDL aviation said it was trying to determine the cause of the "obviously unfortunate mix-up."
Twitter user Son Tran, who said he was on the plane, said: "While an interesting concept, I don't think anyone on board has signed up for this mystery travel lottery".
Another passenger, Sophie Cooke, told the BBC that the wait in Edinburgh "became very frustrating".
"The toilets were blocked and they ran out of snacks. It was also really stuffy," Cooke said.