Anthony Hamilton will play Ali Carter in the final of the German Masters following a surprise win over world number two Stuart Bingham.
The world number 66, who has never won a rankings event and last reached a final almost 15 years ago, recorded a 6-4 success over former world champion Bingham in Berlin.
Hamilton had been 5-1 up, and although Bingham reduced the deficit with breaks of 80 and 55, Hamilton compiled 77 in the 10th frame to progress.
Earlier in the day, Carter booked his place in Sunday's final by ending the title defence of reigning champion Martin Gould.
The world number 14, who won the tournament in 2013, recovered from dropping the opening frame to beat Gould 6-2 at the Tempodrom.