Manchester City fans would be forgiven for thinking they're cursed in the Champions League.
The Citizens suffered yet another heartbreaking exit from Europe's premier competition on Saturday night with a 3-1 defeat against Lyon that practically nobody saw coming.
Sure, Lyon might have dumped Cristiano Ronaldo's Juventus out of the competition in the round of 16, but the quarter-final draw couldn't possibly have been any kinder to the Citizens.
Man City crash out vs Lyon
Nevertheless, it was indeed the French side that made the perfect start in Lisbon, profiting from some questionable City defending with Maxwel Cornet catching out Ederson at his near post.
But City just happened to have a rather talented footballer called Kevin De Bruyne in their ranks, who proceeded to knock on the door with stunning passes and fizzing free-kicks.
He eventually made the breakthrough on 69 minutes, too, converting from Raheem Sterling's pinpoint pass with a brilliant right-footed finish into the bottom corner.
More heartbreak for Guardiola
From that point onwards, however, the game truly became manic with Moussa Dembele firing Lyon back into the lead with VAR controversy working against City for the second year running.
And then, over the course of an insane 59 seconds, Sterling produced one of the Champions League's worst ever misses, before Dembele proceeded to punish him by scoring his second.
To make things even worse, that damning third goal was another error with Ederson dropping an uncharacteristic clanger and fumbling any chance of a City reprieve in the process.
Repeated heartbreak since 2016
What makes the upset defeat most damning of all, however, is the fact City have such a woeful record in the Champions League since Pep Guardiola took over in 2016/17.
Chasing success in Europe was one of the biggest reasons behind the appointment of the former Barcelona boss, but he's failed to elevate City past the quarter-finals in four attempts.
AS Monaco dished out the heartbreak in 2016/17 in the round of 16, before two consecutive quarter-final defeats against English opposition to Liverpool and Tottenham respectively.
And even out of those three games, all of which City were favourites in, tonight's Lyon clash looked the most winnable of all. The result, however, was identical.
Even Mbappe mocked City
It was such an upset that Paris Saint-Germain striker Kylian Mbappe couldn't help basking in City's misfortune by sarcastically tweeting that Ligue 1 is a 'farmer's league'.
That very insult is often thrown around by football fans as an inditement of the French league's quality which, it must be said, hardly holds up in the context of this season.
You almost feel Mbappe's smugness from across the Channel as the Champions League semi-finals line up with two French and two German sides respectively.
You couldn't write it.
And now, Mbappe will be hoping to prove that Ligue 1 is even less of a league for agricultural workers by trying to instigate the first all-French final in Champions League history.
Besides, Lyon causing yet another upset by defeating Bayern Munich would be about as much of a consolation as City could possibly find from yet another heart-wrenching night on the continent.
- Match report: Man City 1-3 Lyon
- Big name players out of contract in 2021
- Eight reasons why Messi should leave Barca