Fault-tolerant control is important for the autonomous operation of complex processes. When model predictive control is used, fault detection and diagnosis is often based on the available process model used by the controller. Unanticipated faults can however cause misdiagnosis of faults, and consequently incorrect compensation actions. A fault-tolerant model predictive controller is presented in this article and tested on a grinding mill circuit simulator. The fault diagnosis algorithm quickly and accurately detects anticipated faults based on the generalized likelihood ratio test. Unanticipated faults are isolated when the process data do not sufficiently match the most probable anticipated fault data. The scheme is applicable to nonlinear multiple-input multiple-output systems.