This paper deals with output synchronization problem in nonlinear multi-agent systems. The main contribution of the paper is to guarantee output synchronization in the network while the dynamics of agents exhibit non-minimum phase behavior. To achieve this goal, a control signal is presented for each agent consisting of two terms. The first term is a linear function of each agent states employed in order to overcome the non-minimum phase dynamics of the multi-agent system, whereas the second term is a function of the output of neighboring agents which provides coupling among agents and guarantees output synchronization in the network. A numerical example is presented to verify the effectiveness of the proposed approach.