As the need for applying wireless sensors to military and civil applications increases, the design of a routing protocol with fault tolerance becomes an important issue in wireless sensor networks. Previously proposed approaches were only concentrated on crash (or power) failures. This paper describes a routing scheme that not only handles crash failures but patterned faults and data processing errors. The technique of multipath routing is utilized for detecting data processing faults so the reliability of data delivery can be improved. The scheme is also able to repair broken paths without invoking network-wide route discovery. The experimental results show that the protocol can efficiently detect and correct errors with little execution overhead.