Kenny Perry again sizzled following a sluggish start and was two strokes off the lead after the second round of the John Deere Classic on Friday.

Playing as well as anyone on the PGA Tour the past two months, the 47-year-old Perry birdied six of his final 10 holes while shooting 5-under 66. That put him in a three-way tie for second place at 11-under 131 with first-round co-leader Charlie Wi (67) and Eric Axley (66).

The strong finish wasn't enough to move past Will MacKenzie (64), who jumped to the top of the leaderboard earlier in the day and is 13-under, but it kept Perry in contention for his third victory in five starts.

"Awesome round," Perry said. "Very proud of this round."

One stroke off the lead when the day began, Perry got going on the eighth hole after taking a drop following his tee shot. He hit a 23-footer from the fringe to save par and stay even for the round. That swing in momentum led to birdies on the next three holes and kept him in contention.

His approach from 183 yards on the par-4 ninth landed two feet from the pin, and another good approach on the 10th settled 12 feet from the hole. He buried that putt, then hit a 7-footer on the par-4 11th to go 9-under.

"It just seemed like my whole state of mind changed, my feelings changed," Perry said after his 10th straight round in the 60s.

After a birdie on 17, someone in the gallery yelled, "Way to go, Kenny!"

Perry was at 12-under, but instead of moving into a tie with MacKenzie, he finished with a bogey on 18 after his chip shot out of a bunker stopped 50 feet beyond the hole.

That finish aside, Perry has been on the go for about two months. The run started with a playoff loss at the AT&T Classic in May and continued with wins at the Memorial and Buick Open last month.

"It was kind of disappointing when I showed up this morning," Perry said. "I got on the first tee and I'm seven behind. I knew I had a lot of work to do."

That's because MacKenzie, who was tied with Perry through the first round, was well on his way to the top of the leaderboard _ a rare spot for someone seeking his second Tour victory.

MacKenzie had made just four cuts in 12 events and missed two months because of a knee injury. His body was a mess, his game was a mess and his mind was a mess so he also saw a sports psychologist. The problems on the course aside, life has been good for him lately.

He got married in February, and a baby is due in August.

"I know I'm on the right track," he said. "I've just got to get committed to the process of hitting shots and not worrying about (it) _ putting the past in the past. That's what I'm trying to do, put the past in the past and believe in my own ability."

MacKenzie's past certainly is unusual.

He quit golf for 11 years when he was 14 and lived in a van at one point in Montana, spending his summers kayaking and his winters snowboarding. He surfed in Costa Rica and eastern North Carolina, and in the mid-1990s, he considered kicking field goals at his hometown school, East Carolina.

What drew him back to the golf course?

Watching Payne Stewart's final victory, at the 1999 U.S. Open on Pinehurst No. 2.

"I've shown I can play great on this stage," MacKenzie said. "I've been playing since 2000, and I've been grinding and trying to get to where I am."

Zach Johnson (68) seemed poised to jump into contention early on but tailed off, finishing at 5-under through two rounds.

Johnson, who's from Cedar Rapids, Iowa, has never performed well at what he considers his home event. A tournament board member, he missed the cut last year after winning the Masters a few months earlier. This time, he was coming off a three-week layoff due to tendinitis in his left wrist, but he reiterated he's feeling fine.

"My whole game's based on rhythm and tempo," Johnson said. "It's getting close. It's not where I want it to be, but I know what to do and I know how to go about doing it."

First-round co-leader Ken Duke (72) fell seven strokes off the lead.