Dynamic programming models of bond refunding have been given by Weingartner, Kalymon and Elton and Gruber. This paper gives a formulation of this problem that lends itself to extensions including the term structure of interest rates, delayed-call provisions, and "rolling over" the outstanding debt. Finally, the cost of computation is examined, along with some examples.