Gaganjeet Bhullar put himself in a fine position for a top-10 finish as he carded a seven-under 65 to move to tied ninth place at the halfway stage of the Tshwane Open here.
Bhullar, who shot 70 in the first round, was nine-under for two rounds and four behind leader Ross Fisher (66-65).
Other Indian golfer in the field, Shiv Kapur (67-74), who slipped in the second round, was tied 51st but made the cut.
More From This Section
Bhullar, playing in his rookie year on the European Tour, was in excellent form as he birdied three in a row from second to fourth and added a fourth birdie on sixth.
A dropped shot on seventh and then two pars saw him turn in three-under. On the back nine he birdied 10th, 12th, 14th and 16th and had no bogeys for a day's work of 65, which was the day's best score and achieved by six others.
Kapur had just one birdie and three bogeys in his 74. Fisher, a member of Europe's Ryder Cup team in 2010, opened with a birdie but then had to stay patient as eight straight pars followed.
A further gain at the 10th hole ignited a tremendous run of scoring, with a pitch to within a foot of the pin at the 13th resulting in a third birdie of the day.
The 33-year-old then holed a curling 40 footer for eagle at the 13th hole, before birding the 16th from 10 feet and picking up a fourth shot in three holes with a 15 footer at the next.
Madsen, who opened his European Tour account in the South African Open Championship at the start of the season, carded seven birdies in a flawless second round of 65 at Copperleaf Golf & Country Estate to reach 12 under par for the week.
The 25-year-old, who flew out of the blocks with four gains in his first five holes, turned in 31 and, after a quiet spell in the middle of his round, picked up further shots at the sixth and seventh.