Adaptivity is a desired feature for distributed systems. A major adaptation of distributed systems is to switch to appropriate protocols when the environment changes. Existing reconfiguration algorithms are expensive. We present an efficient protocol switch method that can dramatically reduce the adaptation overhead. We use atomic broadcast protocols as an example to illustrate our method, and we get more than 10 times improvement when apply our method to the real implementation.