Brandt Snedeker hit a third-round 66 to take a one-shot lead into the final round of the RBC Canadian Open in Ontario.
The 35-year-old was six under par for his round and nine under for the tournament as US Open champion Dustin Johnson slipped to a tie for second after a one under round of 71.
Johnson, who shared the lead overnight, had a mixed round with four birdies and three bogeys.
World number 23 Snedeker eagled the par-five 18th to take the outright lead ahead of home favourite and amateur Jared du Toit and Johnson on eight under.
Scotland's Martin Laird carded a 68 to rise to a tie for sixth place and is just three shots off the lead with world number one Jason Day on two under after he recovered from a second-round 76 to card 69.
Americans Matt Kuchar, Chad Campbell and Ricky Barnes are among the chasing pack on six under.
Luke List, overnight leader alongside Johnson, carded a five-over 77 to drop seven shots off the pace.