Austrian Bernd Wiesberger fired a six-under-par 65 on Saturday to seize a two-shot lead heading into the final round of the Scottish Open.
The world number 83 had moved into a tie at the top with a course-record 61 on Friday, and he backed it up with an effort featuring seven birdies to reach 20-under for the tournament.
The 33-year-old will play alongside South African Erik van Rooyen in Sunday’s fourth round as he bids for a sixth European Tour title and second of the year.
Wiesberger’s lead came under threat late in the day when he bogeyed the 17th to see his advantage cut to one shot, but he bounced back with a birdie at the last.
Van Rooyen carded a four-under 67 to reach minus 18 overall and sit in second place on his own as the excellent scoring conditions continued in North Berwick.
World number three Rory McIlroy signed for a third straight round in the 60s as he warms up for his first-ever major tournament on home soil next week in the British Open at Royal Portrush.
But the Northern Irishman is out of contention for the title in Scotland, sitting nine strokes off the lead after a third-round 68.
“Still feel like my game is in good shape,” the four-time major winner said.
“It’s another round in the books and just try and finish off the tournament positively tomorrow and move on to Portrush.”
Frenchman Romain Langasque and Italy’s Nino Bertasio moved into a share of third on 16-under.
Former Ryder Cup winner Jamie Donaldson, who has slipped to 1,199th in the world rankings after struggling with form and fitness, gave himself a chance of qualifying for the British Open by carding a 65 to reach 15-under.
“I do really want to go next week, but it’s a long way to go yesterday and I’ve just got to go out there tomorrow and play as well as I did today,” said Wales’ Donaldson, who won the 2012 Irish Open at Portrush.
Henrik Stenson, the 2016 British Open champion, slipped off the pace, though, as after 52 holes without a bogey, he made a double on the 17th to drop to 14 under par.
It was also a disappointing day for former USPGA Championship winner Justin Thomas, with the American world number nine being forced to settle for a 70 and a tie for 21st.