The Sensex resumed higher at 18,876.68 and hovered in a range of 18,966.30 and 18,820.90 before quoting at 18,940.09 at 1040 hrs, showing a net gain of 78.55 points of 0.42 per cent from its last close.
The NSE 50-share Nifty also moved up by 26.05 points or 0.46 per cent to 5,719.10 at 1040 hrs.
Major gainers were Jindal Steel (3.10 pct), Maruti Suzuki (2.53 pct), Coal India (2.18 pct), Larsen (2.14 pct), Tata Power (1.74 pct), Wipro (1.74 pct), ICICI Bank (1.61 pct) and HDFC (1.33 pct).
Foreign institutional investors (FIIs) sold shares worth a net Rs 1,317.79 crore yesterday as per provisional data from stock exchanges.
US stocks ended with small losses yesterday, as mixed economic data dampened sentiment on Wall Street.