The Sensex opened with a negative gap of 94 points at 20,197 following a sharp drop in the overseas markets. The index soon slipped to a low of 20,045 - down 246 points from the previous close - in early trades.The index, thereafter, stabilised and began to recover as the day progressed. Aggressive buying in the last one-hour of trade saw the index rally to a fresh all-time intra-day high of 20,419 - up 374 points from the day's low. The Sensex finally ended (provisional) with a gain of 55 points at 20,346.