The control of systems in the presence of constraints is an important issue in many application fields because constraints “always” arise from physical limitations and quality or safety reasons. Moreover, in practical applications, disturbances are usually present and often they are not measurable or predictable. It is well-known that with an unmeasured persistent disturbance, offset-free control is in general not possible. In order to guarantee offset-free control when disturbances are asymptotically constant and nonzero, it is standard practice to augment the plant model with a disturbance model and use this combined model to estimate the size of the disturbance. However, this approach is not essentially a straightforward one and on the other hand they are only able to do offset –free tracking of piecewise constant reference inputs. In this work, a new algorithm is presented for design of Model-Predictive Control. This algorithm enables the output to do offset free tracking of the reference input while satisfying system constraints in the presence of unmeasured disturbances. This algorithm is split into two parts. The first part includes design of a stabilizing linear time-invariant controller in order to initiate the offset-free tracking feature due to entity of the augmented dynamics. This feature then will be completed by selecting the predictive model and design of a dynamic predictive controller. Design of the model-predictive controller explicitly includes both state and input constraints and thereby guarantees robust constraint satisfaction. In addition, the algorithm to be presented is able to satisfy offset-free tracking off all reference inputs that can be presented in the form of a rational transfer function without the need for estimating the disturbance.