Most mechanisms proposed to protect mutualistic species interactions against invasion by non-cooperative individuals imply that mutualist populations should consist only of fully cooperative individuals. Empirical studies, however, find that genetic variation in mutualist quality is widespread. A possible explanation for this paradox is that mutualistic interactions are mediated not only by assessment of partner quality, but also by genetically independent partner signals. Here, we build and evaluate a model of host-symbiont coevolution in which alleles at one locus determine host recognition of compatible symbionts, and alleles at a second locus determine whether hosts are able to sanction non-cooperative symbionts. Symbionts' expression of signals recognized by the hosts and cooperation in mutualism are similarly determined by separate loci. In contrast to simpler models that either fail to maintain variation in symbiosis outcomes or long-term persistence of cooperative symbionts, this model can maintain variation in both species. Individual-based simulations conducted over a range of reasonable parameter values and starting conditions show that the dual-system model is more likely to maintain variation in mutualism outcomes than simpler models, more likely to maintain variation in host loci, and able to promote greater among-site variation in symbiont quality. The dual genetic systems of sanctions and host-symbiont recognition also converge toward conditions similar to one recently-developed model of symbiosis, in which hosts offering the right incentives to potential symbionts can initiate symbiosis without prior screening for partner quality. Our results suggest that a full understanding of mutualistic symbiosis requires integration of communication between partner species as well as the exchange of benefits.