This paper proposes a new fault-tolerant time synchronization algorithm for wireless sensor networks that requires a short time for synchronization, achieves a guaranteed time synchronization level for all non-faulty nodes, accommodates nodes that enter suspended mode and then wake up, is computationally efficient, operates in a completely decentralized manner and tolerates up to f (out of 2 f + 1 total) faulty nodes. The performance of the proposed algorithm is analyzed, and an equation is derived for the resynchronization interval required for a specific level of synchronization precision. Results obtained from real runs on multi-hop networks are used to demonstrate the claimed features of the proposed algorithm.