This paper addresses the problem of efficientlyrestoring sufficient resources in a communications network tosupport the demand of mission critical services after a large scaledisruption. We give a formulation of the problem as an MILPand show that it is NP-hard. We propose a polynomial timeheuristic, called Iterative Split and Prune (ISP) that decomposesthe original problem recursively into smaller problems, untilit determines the set of network components to be restored. We performed extensive simulations by varying the topologies, the demand intensity, the number of critical services, and thedisruption model. Compared to several greedy approaches ISPperforms better in terms of number of repaired components, and does not result in any demand loss. It performs very close tothe optimal when the demand is low with respect to the supplynetwork capacities, thanks to the ability of the algorithm tomaximize sharing of repaired resources.