A strengthening US dollar against major currencies overseas also weighed on the rupee sentiment, forex traders said.
The 30-share barometer swung 329 points during the day between an intra-day high of 39,173.89 and a low of 38,845.27.
The 30-share index was trading 104.83 points, or 0.27 per cent, higher at 39,001.54.
The Nifty currently shows a gradual upmove amidst a range in a choppy trend in the last five sessions.
After swinging 327 points during the day, Sensex settled 160.48 points or 0.41 per cent higher at 38,896.71.
The 30-share index, however, gave up some gains to trade 164.84 points, or 0.43 per cent, higher at 38,901.07.
Investors were also cautious ahead of the release of key macroeconomic data, traders said.
After jumping over 100 points, the 30-share index pared all gains to trade 6.14 points, or 0.02 pc, lower at 38,816.97
After rising as much as 335 points, the 30-share index settled 266.07 points or 0.69 per cent higher at 38,823.11.
The 30-share index, however, gave up some gains to trade 106.35 points, or 0.28 per cent, higher at 38,663.39.