P-cycle based protection has been proved to be an effective way for WDM networks’ survivability design. In IP over WDM networks, p-cycle can also be constructed through GMPLS technology to protect a number of IP links. In this paper, we demonstrate that there are some drawbacks associated with the current p-cycle searching algorithms, e.g., 1) none of the them take the hop-count constraint into account, which means some requests may not able to be protected by their associated p-cycles; 2) to protect those failures occurred on the straddling links, the algorithms demand the traffic to be split in half over each p-cycle segment, which may not be a resource efficient solution, and the routing procedure may be prohibited by hop-count constraints, also, it may introduce extra link propagation delays and causes IP packets to arrive out of order. We propose an improved object function, and give a novel p-cycle searching algorithm. Simulation results obtained from CERNET-like physical topology and the national backbone networks show that the developed algorithm performs well in terms of performance metrics such as the connection blocking probability and the success rate of the protection.