In this paper, we propose a new adaptive IMC scheme based on adaptive finite impulse response filters, which can be designed for both minimum and non-minimum phase systems in the same fashion. The internal model of the plant is estimated by recursive least square algorithm and the inverse of the system by least mean square. The closed-loop is designed such that the system from the reference input to the plant output can be approximately represented by a pure delay. The effect of the process zeros on the output is compensated by using adaptive finite impulse response filters. The incorporation of adaptive finite impulse response filters avoid the cancellation of non-cancellable zeros of the plant. Ultimately, the plant output is forced to track the reference input with a delay. The stability of the closed-loop for both minimum and non-minimum phase systems is guaranteed. Computer simulation results and the outcomes of real-time experiment are included in the paper to show the effectiveness of the proposed method.