Model predictive control algorithms achieve offset-free control objectives by adding integrating disturbances to the process model. The purpose of these additional disturbances is to lump the plant-model mismatch and/or unmodeled disturbances. Its effectiveness has been proven for particular square cases only. For systems with a number of measured variables (p) greater than the number of manipulated variables (m), it is clear that any controller can track without offset at most m controlled variables. One may think that m integrating disturbances are sufficient to guarantee offset-free control in the m controlled variables. We show this idea is incorrect and present general conditions that allow zero steady-state offset. In particular, a number of integrating disturbances equal to the number of measured variables are shown to be sufficient to guarantee zero offset in the controlled variables. These results apply to square and nonsquare, open-loop stable, integrating and unstable systems.