Wireless sensor networks (WSNs) employed in monitoring applications require data collected by the sensors to be deposited at specific nodes, referred to as drains. To improve robustness in data collection, we consider a dual homing network in which two drains are employed and every node is required to send data to the two drains over link- or node-disjoint paths. One approach to reduce the number of routing table entries at a node is to construct two trees, namely red and blue, each rooted at a particular drain such that the paths from any node to the two drains on the trees are link- or node-disjoint. In this paper, we develop the first distributed algorithm for constructing colored trees in a dual-homing network whose running time is linear in the number of links. In addition, we show that the average path length may be optimized by employing the generalized low-point concept rather than the traditional low-point concept.