Hmm… my idea would be that a assign rule for the host or service group is wrong or at the second host is a variable missing. What I mean that one host is in the group and one not. The result would be doesn’t work correctly:
assign where "systems-sme" in service.host.groups || "systems-sme" in service.groups