The Sensex opened on a weak note at 20,404 - down 61 points, but moved up to a high of 20,520 in early noon deals.Selling in scrips like Bharti, ICICI Bank and Grasim saw the index drop to a low of 20,294 in late noon deals.The Sensex finally closed (provisional) with a loss of 128 points at 20,337.The Sensex hit an all-time high of 20,529 in noon deals yesterday before closing with a gain of 164 points at 20,465.