Improving the robustness of today's intra-domain link-state networks is of increasing importance. This is because it is becoming commonplace for such networks to carry telephony, on-demand video and other kinds of real-time traffic. Since user requirements on real-time traffic are exacting, it is essential that the network is able to respond rapidly to network errors.A way of reaching fast reaction times in response to network errors is to precompute fail-over paths that can be utilized immediately when an error is detected. The fail-over path is thereafter in use until the network has converged, handling traffic that would otherwise have been lost due to the error. During convergence (when new paths are calculated) there is a caveat that needs to be avoided -the formation of temporary loops. Temporary loops can form naturally during convergence in link-state networks and can unfortunately prevent traffic from reaching a fail-over path. Traffic can therefore be lost even though a fail-over path is in place.We present an algorithm that can be used in conjunction with link-state routing, to ensure that temporary loops do not form during convergence. The algorithm improves on previous loop-free algorithms for link-state routing by reducing the number of state transitions necessary before a router can update its routing table to a new, guaranteed to exist, path for a wide variety of topological configurations. Because all new paths are guaranteed to exist at the time of a routing table update, the algorithm is also more robust against loss of data than the recently proposed loop-free algorithm by Francoise and Bonaventure.