Britain's Andy Murray lost in three sets to Bulgarian Grigor Dimitrov in the semi-final of the Mexican Open.
The Wimbledon champion, 26, looked on course to reach the final by claiming the opening set 6-4 in Acapulco.
But Dimitrov, 22, took the next two sets on tie-breaks to win 4-6 7-6 (7-5) 7-6 (7-3) in just under three hours.
Fourth seed Dimitrov, who had not won a set in three previous encounters against Murray, faces South African Kevin Anderson in the final.
Big-serving Anderson, 27, had earlier beaten Ukrainian Alexandr Dolgopolov 6-1 5-7 6-4.
British number one Murray, playing in his first semi-final since winning Wimbledon last year, dropped his opening service game in each of his previous three matches this week.
However, he made the immediate break when Dimitrov pulled a forehand wide after a lengthy rally, and went on to clinch the first set.
Dimitrov improved in the second, winning an epic rally to go 2-1 up and taking the set on a tie-break.
He broke second seed Murray in the opening game of the decider, only for the Scot to break back to level at 5-5 as Dimitrov served for the match.
It went to a second tie-break, which was dominated by the Bulgarian who sealed victory in two hours 55 minutes.