Current multicast routing algorithms for multiprocessor systems are based on the reservation of transmission resources and buffer space for messages before transmission. This strategy causes cyclic dependencies among messages and, in turn, deadlock situations. This paper proposes and evaluates the performance of a new multicast routing algorithm, called Deadlock-Free Multicast Routing (DFMR), which removes the root cause of deadlocks. DFMR prevents deadlocks by allowing nodes to send flits as soon as internode links are available for transmission. This is obtained by allowing any possible interleaving of flits from all messages on internode links. The resulting routing algorithm eliminates the need to implement deadlock avoidance, detection, and recovery mechanisms, but needs larger output buffers. In DFMR, message flits carry additional information overhead which is used to avoid deadlock. Simulation results show that this information overhead has a negligible impact on overall performance which is considerably greater than that of previous algorithms.