Second seed Novak Djokovic produced a few flashes of temper as he fought back from a set and a break down to beat Cypriot Marcos Baghdatis 6-7, 6-3, 6-4 in the Dubai Championships semi-finals on Friday.
The holder next meets seventh seed Mikhael Youzhny who put out Austrian outsider Juergen Melzer 7-5, 7-6.
Youzhny defeated Djokovic in the Rotterdam Open semi-finals two weeks ago but the world number two from Serbia said that meeting would count for little.
"I should have won that match, I think," the 2008 Australian Open champion told reporters.
"I felt I hit the ball well but just didn't play the right shots at the right time. I am motivated to win another title and get my revenge," he added.
Djokovic, 22, was taken to three sets for the third time in four rounds.
"My serve wasn't at the level I wanted. I'm just fortunate to go through," he said.
"People could see my frustration, throwing my racket and screaming all over the place. You don't want to know what was happening in my head," he added.
Djokovic was the first to break as Baghdatis, 24, netted a backhand to fall 3-2 behind.
The Serb then double-faulted as Baghdatis broke back and in the tiebreak Djokovic threw his racket in disgust after another double-fault put the Cypriot on top.
A wild forehand handed Baghdatis another break and a 2-1 lead in the second set but the world number 37 allowed Djokovic to break straight back.
Baghdatis squandered four break points in the Serb's next two service games before netting to hand Djokovic an important 5-3 lead.
The Serb, playing an array of drop shots the tiring Cypriot could not reach, took an early 2-0 lead in the third set and went on to book his first final appearance of the year.
"I lost a match I had in my hands -- I'm really frustrated," said Baghdatis.
World number 15 Youzhny plans to go one better after losing the 2007 Dubai final to Roger Federer.
The Russian's consistency was decisive as Melzer made too many unforced errors.
At 5-4 down, a wide Youzhny forehand gave Melzer, 28, the chance to claim the opening set but the left-hander clipped a forehand into the net after an 18-shot rally.
Melzer saved two break points at 5-5 but a third was beyond him as Youzhny, 27, delivered a lob winner and then served out for the set.
The second set followed a similar pattern as serve again dominated before Youzhny took the tiebreak 7-4.
"Juergen played really well today," said Youzhny.
"He was aggressive, he won a lot of good points and for me it was really tough," he added.