Indian markets ended higher for the second day in a row on Tuesday riding on budget optimism. The Sensex touched 50000 once again before closing at 49,797.72, up 1197.11 points or 2.46%. The Nifty ended at 14,647.85, up 366.65 points or  2.57%.