A second-order method for numerically solving control optimization problems has been developed. The method, referred to as the modified sweep method (MSM), differs from the successive sweep method (SSM) proposed by McReynolds and Bryson (1965) in that the conditions for local control optimality are used to determine the control as an explicit function of the state variables and time. The control is eliminated from the problem and the solution to the resulting two-point boundary value problem can be obtained by linear perturbation methods. The modified sweep method proposed here uncouples the perturbation equations for the state variables and the Lagrange multipliers by using a generalized matrix-Riccati transformation of variables. The resulting algorithm for the numerical iteration process is concerned with determining the initial values of a set of Lagrange multipliers rather than correcting a numerical control programme over the entire time interval of interest.