Portugal's Cristiano Ronaldo celebrated his Madeira homecoming with an early strike but Sweden wrecked the party by hitting back from two down to win 3-2 with a last-gasp own goal in a friendly on Tuesday.
The match, Ronaldo's first appearance for Portugal on the island where he was born, took place on the eve of a ceremony to name Funchal airport after the 32-year-old Real Madrid forward, giving the whole evening a testimonial feel.
But the celebrations turned to misery for the 10,000 crowd as Joao Cancelo put through his own goal in stoppage time to hand Sweden an unlikely victory against the European champions.
Ronaldo nets 100th international goal as Portugal down Sweden
The first half went entirely to script as Ronaldo, whose last professional match in Madeira was a league game with Sporting in 2003, turned in Gelson Martins' cross after 18 minutes for his 71st international goal.
Ronaldo volleyed narrowly wide before again combining with Martins, whose pass was turned into his own net by Sweden captain Andreas Granquivst in the 34th minute.
Portugal were fielding an experimental team and Sweden, who had already exploited some gaps in the defence during the first half, pulled one back through Viktor Claesson in the 57th.
Ronaldo went off to a standing ovation on the hour but then had to watch from the bench as his side capitulated.
Claesson got in front of his marker to prod the ball home from a corner in the 76th before Niklas Hult steamed down the left and sent over a low cross which Cancelo, under no pressure, turned into his own goal at the far post.
Ronaldo already has a museum dedicated to him in Funchal, with a three-metre bronze statute of the four-times world player of the year on the seafront not far from the main entrance.