How microtubules transition from depolymerization to polymerization, known as rescue, is poorly understood. Here we examine two models for rescue: 1) an "end-driven" model in which the depolymerizing end stochastically switches to a stable state; and 2) a "lattice-driven" model in which rescue sites are integrated into the microtubule before depolymerization. We test these models using a combination of computational simulations and in vitro experiments with purified tubulin. Our findings support the "lattice-driven" model by identifying repeated rescue sites in microtubules. In addition, we discover an important role for divalent cations in determining the frequency and location of rescue sites. We use "wash-in" experiments to show that divalent cations inhibit rescue during depolymerization, but not during polymerization. We propose a unified model in which rescues are driven by embedded rescue sites in microtubules, but the activity of these sites is influenced by changes in the depolymerizing ends.