In this paper we propose a novel algorithm to restore calls upon a single node failure in all-optical networks. Our proposal aims to restore the maximum number of disrupted lightpaths by each node failure. The algorithm performs a path restoration searching for the route that presents the higher optical signal-to-noise ratio (OSNR). We compared our proposal to three other well-known approaches found in the literature, in two different network topologies. We observed that our proposal obtained lower failure rates in the restoration process for six different analyzed scenarios, considering several physical layer impairments.