Casper Ruud survived a scare as he progressed to the Generali Open semi-finals with a 3-6 7-6 (7-5) 6-1 victory over Mikael Ymer.

World number 14 Ruud is targeting a third successive ATP title, having also captured the Swedish Open and Swiss Open earlier this month.

It has been a timely return to form for the Norwegian, who suffered a shock defeat to Australia's Jordan Thompson at Wimbledon at the end of June.

Although he was in danger of seeing his nine-match winning streak come to an end in Kitzbuhel, after losing the opening set against Swedish opponent Ymer.

Ruud, who also triumphed at the Geneva Open in May, was then taken to a tie-break in the second ser by the world number 99, but held his nerve to tee up a decider.

It was one-way traffic from there with the 22-year-old dominating play to set up a last-four clash with Arthur Rinderknech, who hit five aces as he overcame third seed Filip Krajinovic 6-4 6-1.

Meanwhile, Daniel Altmaier's place in the semi-finals was secured with a 6-1 6-7 (5-7) 6-3 win over Gianluca Mager.

The world number 135, who reached the fourth round of last year's French Open, will play Pedro Martinez in the semi-finals after the Spaniard saw off Jozef Kovalik 6-2 6-2.