Routing schemes for network recovery aim to find connection paths under the scenarios of link or node failures that disrupt end-to-end connectivity. Several recovery schemes consider a proactive search for alternative links (or paths) that can restore the lost connectivity after the failure. However, the effect that the modification of network traffic after the switch over the alternative paths brings can undermine the objective of these schemes as links can become overloaded. This effect can cause temporary instability, requiring a new selection of paths and interrupt communications. This new search would defeat the purpose of pro-actively disposing of alternative paths. To address this issue, this paper proposes an on-demand and proactive routing approach, where the demand is based on providing new paths for existing network traffic while avoiding link congestion. Because some links may get congested in an attempt to accommodate re-routed flows in a recovery tree, ondemand routing is based on the selection of paths according to the existing traffic load in the failed link and the available bandwidth in the alternative links. This approach produces one or multiplepaths from source nodes to destination nodes to satisfy network load requirements and to avoid interruptions produce by route oscillations. The proposed scheme can create as many trees as needed to satisfy traffic flowing.