The American followed his flawless opening 63 with a slightly patchy round in sodden conditions at Royal Troon, sinking four birdies but also having two bogeys on the back nine.
The 2013 Open champion's score may well be enough for him to take the lead into the weekend, although Sweden's Henrik Stenson was five-under for the day and eight-under altogether after the 15th.
In the clubhouse, Denmark's Soren Kjeldsen was seven-under after an admirable three-under-par round of 68 that included three birdies and no bogeys.
Reigning champion Zach Johnson, four-under overnight, had moved to seven under par overall after a birdie at 13 but then dropped back a shot after a bogey at 15.
as/nr
© 1994-2016 Agence France-Presse