Software Defined Networking moves the control plane functionalities of the network elements to one or more external entities known as controllers. The controller placement problem mainly deals with determining the optimal location of the controllers and assignment of the switches to the controllers. Failure of the controllers results in disconnections between switches and controllers. These disconnected switches must be reassigned to one of the other working controllers. This reassignment can be done by solving an assignment problem, which generally requires administrative intervention. The latency in case of failures may increase drastically due to the lack of planning for failures. In this paper, we propose a controller placement strategy that plans ahead for controller failures to avoid disconnections, repeated administrative intervention, and drastic increase in latency. We formulated the problem as a mixed integer linear program (MILP). The objective is to minimize the worst case latency in case of failures. Simulation results show that our proposed method performs better than the controller placement that does not plan ahead for failures.