It is legal to have two session beans sharing the same class but each having a different EJB name. Since Weld does not reflect the EJB name within the session bean ID, one of the instances gets lost.