Nonlinear predictive control (NLPC) is an effective strategy for controlling nonlinear chemical processes with constraints and time delays. In this article, a number of important issues in NLPC are addressed, emphasizing continuous stirred tank reactors (CSTR's) with parametric and model structure uncertainty. In particular, the effects of various choices for the initial conditions are discussed. The selection of initial conditions is particularly important in the presence of plant/model mismatch. A nonlinear programming-based approach is used for process identification. The effect of model structure uncertainty is included in our analysis by using a cascade control structure on the coolant temperature. Our CSTR results indicate that a simple PI (with anti-reset windup) cascade loop on coolant temperature is adequate for operation over a wide range of operating conditions. A particularly interesting result of this work is that a predictive controller based on an open-loop observer can be used to stabilize an open-loop unstable process, although this is not recommended in practice.