A mobile ad-hoc network (MANET) is formed by a cluster of mobile hosts, each installed with a wireless transceiver, without the assistance of base stations. Due to the transmission range constraint of transceivers, two mobile hosts can communicate with each other either directly, if they are close enough, or indirectly, by having other mobile hosts relay their packets. Several routing protocols, such as DSR, SSA, AODV, and ZRP, have been proposed for a MANET with a dynamically changing topology. In a MANET, a route may suddenly become broken because only one host roams away. Even if a route remains connected, it may become worse due to host mobility or a better route newly being formed in the system. Existing protocols, however, will stick with a fixed route between a source-destination pair once it is discovered, until it is expired or broken. In this paper, we show how to enhance several existing protocols with route optimization and local route recovery capability, such that the routing paths can be adjusted on-the-fly while they are still being used for delivering packets or can be patched in minimum wireless bandwidth and packet transmitting delay while route errors occur.