Rain was Friday's major theme, which will become known as the "Troon monsoon."
First-round leader Phil Mickelson set off in the dry but was engulfed in a deluge on the back nine.
The 46-year-old says he "enjoyed the challenge" and shot two-under 69 to edge to 10 under par.
Sweden's Henrik Stenson also copped the rain but shot a remarkable 65 to close Mickelson's lead to one.
The fun-loving Swede afterwards joked that being six years younger than Mickelson will surely help at the weekend.
World No. 3 Jordan Spieth lost even more ground with a 75 that dropped him to four over, right on the cut line.
Rory McIlroy couldn't get it going either and shot level-par 71 to stay two under, tied for 15th with U.S. Open champion Dustin Johnson.