Abstract-Multicast routing protocols based on shared trees employ one or more rendezvous points (usually called cores) for coordination. To address fault tolerance in case of core failure, multiple cores can be deployed. The location of cores is crucial for the performance of the protocol. In this context, the problem of finding the location for the cores is similar to the (k, r)-dominating set problem, (k, r)-DS, in graph theory. That is, (k, r)-DS is defined as the problem of selecting a subset of nodes D such that the remaining nodes are within distance r from at least k nodes in D. In mobile ad hoc networks (MANETs), finding the location of cores should be computed distributively, because the topology may change frequently. We present a distributed solution to the (k, r)-DS problem, named DKR, which is used for core selection in a novel multicast protocol named core hierarchical election for multicasting in ad hoc networks (CHEMA). CHEMA is designed to operate in the context of multiple channels and multiple interfaces. One interface is dedicated for the communication among cores and members, using a non-interfering channel. The performance of CHEMA is compared against one of the best performing multicast protocols to date. CHEMA is shown to perform better in all scenarios considered.