Multicast routing algorithms designed for wireline networks are not suitable for wireless environments since they cannot efficiently exploit the inherent characteristics of wireless networks such as the broadcast advantage. There are many routing protocols trying to use these advantages to decrease the number of required transmissions or increase the reception probability of data (e.g., opportunistic routing). Reducing the number of transmissions in a multicast tree directly decreases the bandwidth consumption and interference and increases the overall throughput of the network. In this paper, we introduce a distributed multicast routing protocol for wireless mesh networks called NCast which take into account the data delivery delay and path length when constructing the tree. Furthermore, it effectively uses wireless broadcast advantage to decrease the number of forwarding nodes dynamically when a new receiver joins the tree. Our simulation results show that NCast improves network throughput, data delivery ratio and data delivery delay in comparison with on demand multicast routing protocol. It is also comparable with multichannel multicast even though it does not use channeling technique which eliminates the interference inherently.