Mobile ad hoc networks have gained more and more research attentions by provisions of wireless communications without location limitations and pre-built fixed infrastructure. Because of the absence of any static support structure, ad hoc networks are prone to link failure. This has become the most serious cause of throughput degradations when using TCP over ad hoc networks. Some researches chose Dynamic Source Routing (DSR) as the routing protocol and showed that disabling the assigning of a route directly from cache gives better performance. In this paper, we introduce an efficient cache management mechanism to increase the TCP throughput by replying with a route directly from the cache of DSR and perform the cache recovery when a host failure has occurred. We use simulations to compare the performance of our algorithm with the original DSR under the link failure prone environment due to mobility. We also provide the simulation results when host failures are considered in the ad hoc networks.