Skip to content
Europe Flight Club
What we got wrong

Corrections

Every error this site has published, what a reader would have seen because of it, and the check that caught it. The last part is the useful one.

25
Corrections since August 29, 2026
23
Were live to readers before being found
11
Changed a published number
7
Changed a published claim

How we review says that if something here is wrong we will fix it and say that we did. This is where we say it.

Most of these were not found by rereading a page. They were found by a check that compares a published figure against the data behind it — and the check is written down in each entry, because that is the part someone else can reuse.

This site was rebuilt on August 29, 2026. Nothing before that date is in scope.

  1. DataWas live

    The Boston page understated its own floor by $10

    What was wrong
    The Boston pillar said the cheapest round trip to anywhere in Europe was "about $380 to Helsinki", twice — in the body and in an FAQ answer. The grid says $390, and the same page's own fare table said $390 in four other places.
    What a reader saw
    Ten dollars, on the one page that exists to back the site's most public claim: that Jon regularly flies Boston to Europe for under $300. A reader checking that claim reads this page, and it disagreed with itself.
    How it was found
    Re-reading the page while checking whether the under-$300 claim was evidenced. The claim itself holds up — the page states the searchable floor plainly and explains that sub-$300 fares are drops and award space rather than something you can search for — but the floor it stated was not the floor in the data.
    Fix
    Both instances corrected to $390, matching the table above them and the grid behind it.
  2. DataWas live

    A fixed-week fare had been filled in from the flexible-date grid

    What was wrong
    The carrier grid held $422 for Icelandair, New York to Reykjavik. That is the CITY grid's figure for the same pair — the cheapest one-week trip anywhere in six months — and the carrier grid requires every carrier priced for one fixed week. Re-priced on the original source, Icelandair for that week is $600.
    What a reader saw
    Icelandair's cheapest route looked $178 cheaper than it was, and the Icelandair review called $422 the lowest fare in the whole carrier grid. It also flowed into British Airways, which flies the same route: its median premium was published as $254 and is $215.
    How it was found
    A cross-check of eight routes against an independent source. Seven agreed within 7%; Reykjavik was 29% apart, which is the size of gap that means a bad row rather than fare movement. Re-pricing on the original source confirmed it. The two grids agreeing to the dollar was the tell — an independent capture has no reason to land on the same number.
    Fix
    Row corrected to $600. Every figure it fed was recomputed rather than edited: the Icelandair review's table and two of its claims, the British Airways premium in three articles and its premium table, and the pinned test. A sweep for the same signature across all 119 comparable pairs found three more exact matches; all three were checked and all three are genuine.
  3. ClaimWas live

    The SAS review claimed a record its own data did not support

    What was wrong
    It described $558, New York to Copenhagen, as "the lowest single fare in our entire carrier grid". It is the fourth lowest of 175 fares, behind Norse Atlantic at $461 and two TAP fares into Madrid.
    What a reader saw
    A superlative that overstated SAS by three places.
    How it was found
    Searching every article for claims about the grid's lowest fare while correcting a different one, rather than checking only the article being edited.
    Fix
    Rewritten to say what is true: SAS's own cheapest fare, and where it actually ranks.
  4. ReachabilityWas live

    A finished tool was live with nothing linking to it

    What was wrong
    The Europe Flight Plan was deployed and working — nine questions, server-side scoring, Club signup — with no inbound links from anywhere on the site and no sitemap entry.
    What a reader saw
    The only way to reach it was to type the URL. No reader and no search engine had ever seen it.
    How it was found
    Auditing the sitemap against the built pages against the internal link graph, which is a different question from whether links are dead.
    Fix
    Registered as a live tool, linked from the home page and /tools, and added to the sitemap. A test now fails the build if any live tool points at a route that does not exist.
  5. ClaimWas live

    Thirty-three sentences said fourteen carriers when there were fifteen

    What was wrong
    Adding Iberia's cabin products moved the rubric set from fourteen carriers to fifteen. Thirty-three sentences across thirteen articles still said fourteen, including the description and FAQ answers of the ranking article itself.
    What a reader saw
    The home page was correct throughout, because it computes the number. Every article that had it typed by hand was wrong.
    How it was found
    Checking a count in an article against the library that produces it, while writing an unrelated review.
    Fix
    All thirty-three corrected. A test now fails the build on any carrier or cabin-product count in prose that no dataset supports.
  6. ClaimWas live

    Three 'the only' claims had quietly become false

    What was wrong
    Three superlatives were true when written and false by the time they were checked: that British Airways and Virgin Atlantic were the only pair tying on every dimension (three pairs do), that Aer Lingus was the only carrier whose long-haul cabins score identically (United's do too), and that British Airways was the only carrier where the same fare buys a 10 or a 5 (Lufthansa and KLM do it as well).
    What a reader saw
    Three articles asserted uniqueness that the data no longer supported. A fourth such claim was checked and held.
    How it was found
    Testing a superlative against the dataset instead of trusting it, then testing every other superlative on the site once the first one failed.
    Fix
    All three rewritten around what is actually distinctive. The facts behind them are now pinned by tests, so the next dataset change fails the build rather than the sentence going stale.
  7. ClaimWas live

    A statistic was labeled as something it did not measure

    What was wrong
    A function named for aisle access actually compared seat scores, which include the privacy door. Three of the seven carriers it returned have identical aisle access on every aircraft.
    What a reader saw
    The home page and the comparison hub both showed 7 of 15 next to a sentence about direct aisle access. The correct figure for aisle access is 4.
    How it was found
    Noticing that a carrier appeared in the results whose two cabins both have direct aisle access, and checking what the function actually compared.
    Fix
    Split into two measures with accurate names — cabin varies by aircraft (7) and aisle access varies (4) — and both surfaces now state which is which.
  8. DataWas live

    Virgin Atlantic was published as $1,688 dearer than British Airways. It is $126 cheaper.

    What was wrong
    The Virgin Atlantic review was titled and argued around a $1,688 business-class gap on New York to London — Virgin at $6,989 against British Airways at $5,301. Re-collecting the same route, same cabin, same travel week returned Virgin at $5,175 against BA at $5,301.
    What a reader saw
    The page told readers Virgin cost 32% more for an identical product and framed the whole decision as whether a better worst case was worth $1,688. On the current data there is no premium to justify: Virgin is the cheaper of the two.
    How it was found
    Re-pricing the five business routes on the same day as the full economy grid, using the same extraction, rather than carrying the previous collection forward. Every other anchor on that route came back identical to the dollar — Icelandair $2,356, Air Serbia $3,057, TAP $3,333, BA $5,301, Delta $8,631 — which is what makes the Virgin row a real move rather than a methodology difference.
    Fix
    Article retitled and rewritten around what the data now shows, with the retraction left in the section that made the original claim rather than deleted.
  9. ClaimWas live

    The flag-carrier premium does not grow with distance from Europe

    What was wrong
    The airline ranking said the premium a flag carrier charges into its own hub widened the further west you departed, citing Lufthansa into Frankfurt at $206 from New York, $520 from Chicago and $1,231 from Los Angeles.
    What a reader saw
    A tidy causal story that a reader could have used to predict fares from their own city. It would have told a Los Angeles reader to expect the worst flag-carrier premium in the dataset, when LAX is now Lufthansa's narrowest at $10.
    How it was found
    A pinned test that asserted the ordering rather than the conclusion, written when the claim was made specifically so a later collection would break it loudly. Completing the grid to all five gateways broke it on the first run.
    Fix
    Claim replaced with the mechanism it was a coincidence of — the premium is set by whether any carrier will route that city pair through its own hub, not by distance — and the test now pins the mechanism.
  10. DataCaught pre-publish

    The carrier grid was extended by choosing routes that helped specific carriers

    What was wrong
    The first attempt to widen the 22-route carrier grid picked five new routes because they would give under-covered carriers enough data to rank. TAP was cheapest on four of the five, which moved it from fourth to first in the price ranking and displaced Icelandair.
    What a reader saw
    None. The bias was caught before the expanded data was published, and the affected rows were reverted rather than shipped.
    How it was found
    Noticing that the carrier which benefited most from the new routes was the carrier the routes had been selected to help, and that no route had been added which could have hurt it.
    Fix
    Data discarded. The route list now lives in src/data/carrier-grid-plan.ts as a frozen cross-product with a test asserting nothing has been curated out, and the grid was re-collected in full against it.
  11. DataWas live

    The carrier grid could not measure Aer Lingus at its own hub

    What was wrong
    Every Aer Lingus fare we published connected THROUGH Dublin, because Dublin was not one of the twelve destinations the carrier grid priced. The single market where that airline should be strongest was the only market in which it could not be measured, and the review said it was 'cheapest on none of 18 routes' without noting the omission.
    What a reader saw
    A reader comparing Aer Lingus on its own home route had nothing to go on. Pricing Dublin properly shows its nonstop losing to a connecting carrier from all four US gateways that fly it — by $70 from Boston, $80 from New York, $266 from Los Angeles and $386 from Chicago. Munich, Barcelona, Milan, Athens and Vienna had the same shape.
    How it was found
    A reader asking whether there were missing routes — specifically whether US airports have nonstops to other major European airports. Checking the carrier grid's twelve destinations against our own 41-city fare grid showed they overlapped on only nine cities, and that every hub carrier's home airport was either missing or was the one thing being measured.
    Fix
    The destination set is now derived from the city grid's own list rather than inherited: 47 airports, 235 planned routes, 193 priced. Two tests enforce it — one that every city-grid city is a carrier-grid destination, and one that no destination can be removed without an explicit recorded reason.
  12. ClaimWas live

    Royal Air Maroc was not cheapest on every route it flies

    What was wrong
    Published this morning: 'Royal Air Maroc was the cheapest carrier on all nine Los Angeles routes we priced it on. Not competitive on. Cheapest, on every one.' It was true of the nine routes then in the grid.
    What a reader saw
    A perfect record reads as a property of the airline. At 18 routes it wins 15, and every win is from Los Angeles — the three losses are its New York routes, plus Bordeaux from LAX where Air France is genuinely better placed. Casablanca is a West Coast story, not a Royal Air Maroc story.
    How it was found
    Expanding the destination set from 12 airports to 47 in the same collection. The claim survived nine observations and died at eighteen, which is what a superlative drawn from a single gateway does.
    Fix
    Claim restated as 'cheapest on 14 of 15 LAX routes, and it wins nothing from anywhere else', with a pinned test asserting both the count and that every win is a Los Angeles pair.
  13. DataCaught pre-publish

    A guard against dead routes was checking the city pair, not the airline

    What was wrong
    The test keeping withdrawn routes out of the fare grid matched on origin and destination alone. LEVEL withdrew Barcelona-Boston; once Barcelona became a destination, it flagged TAP's perfectly live Boston-Barcelona fare — and 23 others — as ghosts of dead routes.
    What a reader saw
    None to readers: the test failed loudly on the first build after the expansion rather than removing anything. Had it been written the other way round, it would have deleted valid fares on any city pair whose only nonstop had ever been cut.
    How it was found
    The expansion. A twelve-airport grid contained none of the withdrawn pairs, so the bug was unreachable until Barcelona, Milan and the others were priced.
    Fix
    Now matches carrier AND route, so a withdrawn airline stays out while the city pair stays priced. A second test asserts the pairs remain flyable, because a grid that dropped them would tell a reader Barcelona cannot be reached from Boston.
  14. ReachabilityWas live

    Carrier fares were missing from 27 of the 41 city pages

    What was wrong
    The map joining carrier-grid airports to city entities was written by hand for the twelve-destination grid and never updated when that grid was expanded to forty-seven. It listed ten airports. Every city outside those ten returned no carrier fares at all.
    What a reader saw
    Dublin, Vienna, Athens, Munich, Barcelona and twenty-two other cities showed no airline comparison, on pages whose purpose is comparing airlines. The fares existed and had been collected the day before; nothing on the page said they were missing, so the pages read as though no carrier flew there worth naming.
    How it was found
    Building the assessment's route readout on the same helper. It returned nothing for Dublin, which is served by four US gateways in our own grid, and a route that obviously exists coming back empty is the cheapest possible signal that the lookup rather than the data is wrong.
    Fix
    The map is now derived as the exact inverse of the expansion the collection plan performs, so a city added to the fare grid appears automatically and the two cannot drift apart again. A test asserts coverage stays above thirty cities, which the hand-written version would have failed.
  15. DataWas live

    Boston to Milan was recorded $255 too high

    What was wrong
    The city grid held $846 for Boston to Milan. The true cheapest round trip that day was $591 — a 30% error, and the largest single mistake this site has published.
    What a reader saw
    Milan had become the headline example in four comparison tables. The error made Boston's Milan nonstop premium read as $16 when it was $271, which inverted the advice on that route.
    How it was found
    The Google Flights Explore map labels every city with its own cheapest fare, so one screenshot cross-checks about sixteen cities at once against the grid. Fourteen of sixteen matched to the dollar, one was off $17, and Milan was off $255. Exact agreement is the norm, so any double-digit gap is a bad row rather than price movement.
    Fix
    Row corrected and the six articles quoting it regenerated from the library rather than retyped.
  16. DataWas live

    Published tables had drifted from the data behind them

    What was wrong
    Twelve of 26 gateway rows and six of 15 city rows disagreed with src/lib/fares.ts, almost all by a single dollar.
    What a reader saw
    Individually harmless. Collectively it meant the tables readers screenshot and the pages computing from the same data disagreed with each other.
    How it was found
    Regenerating every table from the library and diffing it against what was published, rather than reading the two side by side.
    Fix
    All tables regenerated from src/lib/fares.ts. Hand-transcribing a derived figure is now prohibited by the project's own conventions.
  17. DataWas live

    127 fares were higher than the lowest we had actually seen

    What was wrong
    A second collection sweep returned lower fares than the first on 127 city pairs, and the grid still held the higher number.
    What a reader saw
    Every affected city looked more expensive than the evidence supported, which is the wrong direction for a site about flying cheaply.
    How it was found
    Running a second full sweep and diffing it against the stored grid cell by cell.
    Fix
    All 127 cells lowered, and the methodology changed: where two sweeps on the same day disagree, the grid records the lower fare.
  18. DataWas live

    Comparison pages compared business fares against economy fares

    What was wrong
    The shared-route lookup keyed on route alone, ignoring cabin, so British Airways' $5,301 business fare on New York to Heathrow was matched against Virgin Atlantic's $815 economy fare on the same route.
    What a reader saw
    Thirty-five of 91 comparison pages contained at least one row comparing two different cabins as though they were the same product. One page's FAQ stated that every fare shown was economy, which was false on that page.
    How it was found
    Auditing every generated comparison row for cabin agreement between the two sides, rather than spot-checking pages.
    Fix
    The lookup now keys on route and cabin together. Zero of 253 rows mix cabins, and a test fails the build if any ever does.
  19. DataWas live

    Three cabins were recorded with a layout their aircraft cannot have

    What was wrong
    Icelandair's 737 MAX, TAP's A321LR and Aer Lingus's A321neo were each recorded as 2-2-2 — a twin-aisle layout on a single-aisle aircraft.
    What a reader saw
    Three business cabins were described with a seating arrangement that is physically impossible on those airframes, and the seat scores derived from it were wrong.
    How it was found
    A test asserting that every recorded layout is possible for the aircraft it is attached to. The root cause was that the layout type offered no 2-2 option, so 2-2-2 was the closest available value.
    Fix
    2-2 added to the layout type, all three records corrected, and the test now runs on every build.
  20. Structured dataWas live

    Review schema was reported as present and had never been emitted

    What was wrong
    An audit reported Review structured data as present on cabin reviews. No page had ever emitted it.
    What a reader saw
    Seven reviews were missing the structured data that makes a review eligible for rich results, while an internal check said otherwise.
    How it was found
    Re-running the audit against the rendered JSON-LD rather than the page text. The original check had matched the word "Review" in prose — a false positive from grepping HTML.
    Fix
    Ratings added to all seven reviews so the schema is generated from frontmatter, and the audit now parses JSON-LD instead of searching for a word.
  21. ClaimWas live

    PLAY was described as an operating airline

    What was wrong
    PLAY ceased operations on 29 September 2025. Two articles referred to it in the present tense and six airport records listed it as a current low-cost operator.
    What a reader saw
    Readers were pointed at an airline they could not book, on a site whose purpose is telling them what to book.
    How it was found
    A reader question — Jon asked whether PLAY was still flying.
    Fix
    A dataset of defunct carriers and withdrawn routes now exists, with cessation dates, and the airport records were rebuilt from it.
  22. EditorialWas live

    British spellings on a site written by an American

    What was wrong
    Nine British spellings across four reviews — programme, traveller, neighbour, favours.
    What a reader saw
    The site's credibility rests on being written by an American who flies out of Boston. British spelling undercuts that before a reader reaches the substance.
    How it was found
    A pattern sweep that matches suffixed and plural forms. An earlier sweep for "travelled" had missed "travelling", and one for "neighbour" had missed "neighbours"; both shipped.
    Fix
    Nineteen spelling patterns are now checked on every build.
  23. ReachabilityWas live

    Three thin pages were live without being declared

    What was wrong
    Generated routes rendered any slug that happened to resolve, rather than only the ones we had declared.
    What a reader saw
    Three thin pages were live and reachable without appearing in the sitemap.
    How it was found
    Comparing every page the framework would render against the list of pages actually declared.
    Fix
    All generated routes now refuse any slug outside their declared set.

Common questions

Why publish a corrections page at all?
Because every fare page here is a claim about a number, and numbers on a travel site go wrong in ways the reader cannot see: the underlying fare moves, a figure gets transcribed by hand and drifts from the data behind it, or a sentence that was true when written stops being true when the dataset grows. All three have happened on this site. A page that lists them is the only way to show that the numbers are maintained rather than posted once.
What counts as a correction here?
Anything that changed a published number, a published claim, or what a reader could reach. Code defects are included when a reader saw the result — a comparison table that mixed cabins is a correction, an internal refactor is not.
How are errors usually found?
Almost always by a check that compares the published figure against the data behind it, rather than by rereading the page. The largest error on this site — a fare recorded $255 too high — was caught by cross-checking a map that labels sixteen cities at once against the grid. Exact agreement is the norm there, so any double-digit gap is a bad row rather than price movement.
How do I report something that looks wrong?
Email the address on the contact page with the page and the figure. If it is wrong it gets fixed and listed here with the date. If it is right, the reasoning gets explained, which is usually more useful.

Found something that looks wrong? Tell us. If it is wrong it gets fixed and listed here. See also how we review for where the numbers come from in the first place.