Top seed Alexander Zverev crashed out of Munich's ATP clay court tournament after a shock defeat to qualifier Ilya Ivashka in the quarter-finals on Friday.
Despite winning the opening set on a tie-breaker, Zverev, the 2017 and 2018 Munich champion, bowed out 7-6 (7/5), 5-7, 3-6 after Ivashka of Belarus converted his first match point.
The 27-year-old is ranked 101 places below world number six Zverev, 24, who made numerous errors.
"This is a match I should never have lost - I'm sad and disappointed", admitted Germany's Zverev.
Half of his 14 double faults came in the deciding set as Zverev lost after two hours, 33 minutes while Ivashka reached a semi-final on tour for the first time in his career.
In Saturday's semis, Ivashka faces Germany's Jan-Lennard Struff who needed exactly three hours to seal a 6-4, 4-6, 7-6 (7/3) win over fourth-seed Filip Krajinovic.
"Ivashka is playing quite good tennis here," said Struff after the 27-year-old Belarusian "blew away" Finland's Emil Ruusuvuori 6-1, 6-2 in the first round.
This is the first time the 31-year-old Struff has reached the semis in Munich since 2014 and this will be his eighth attempt to reach the final of an ATP tournament for the first time.
"I haven't yet taken that final step to play for a title and, of course, I would like to do that," Struff added.
The remaining quarter-finals between Australia's John Millman and Norway's Casper Ruud, plus Nikoloz Basilashvili's match with lucky loser Norbert Gombos, will be finished Saturday after rain interupted both ties.