The BSE Sensex fell slightly on Thursday, retreating from record highs hit earlier in the session, as investors snapped a four-day rally by booking profits in recent outperformers such as Hindalco Industries.
Trading was marred after exchange operator BSE Ltd, which operates the Sensex, suffered around a three-hour trading halt because of a network outage.
Shares have surged this year - with the broader Nifty up 22.4 percent so far - on hopes Narendra Modi's election as prime minister last month would spark a wave of economic reforms.
A key test of that will come on July 10, when the new government is expected to unveil the budget. Foreign investors have remained strong buyers throughout, buying a net 12.90 billion rupees ($215.7 million) worth of shares on Wednesday and bringing their total for the year to $10.34 billion.
"Market is awaiting the next big event which is budget. The broader sentiment is positive, so we advise our clients to stay with the market, but stay cautious. Volatility would be very high as we approach the budget," said Daljeet S Kohli, head of research at brokerage, IndiaNivesh.
Watch: BSE shut all indices due to technical glitch today
The Sensex fell 0.07% to end at 25,823.75 after hitting its record high of 25,999.08. It had gained 3.11% over the previous three sessions.
The Nifty fell 0.13% to end at 7,714.80 after hitting its life high of 7,754.65. It had gained 3.1% over the last four sessions.
Recent outperformers fell on profit-booking. Hindalco Industries Ltd, which gained 10.8% in the past three sessions, fell 2.52%.
Power and capital goods stocks, which were the major contributors to the recent rally, ended lower. NTPC Ltd closed down 1.5%, while Tata Power Ltd fell 2.3%.
Among other blue-chips, Reliance Industries Ltd closed 1.2% lower, while Oil and Natural Gas Corp ended down 2%.
Shares in GMR Infrastructure Ltd closed down 7.7% and Jaiprakash Associates Ltd ended 4.6% lower after both companies raised a total of about $550 million, through a share sale, which was at a discount to the market price.
($1 = 59.8000 Indian Rupees)