Replication is widely used to improve fault tolerance in distributed and multi-agent systems. In this paper, we present a different point of view on replication in multi-agent systems. The approach we propose is based on role concept. We define a specific "fault tolerant role. which encapsulates all behaviors related to replication-based fault tolerance in this work. Our strategy is mainly focused on replicating instances of critical roles in the agent organization. However, while doing this, we simply transfer the critical role and the fault tolerant role to appropriate agents. Here, the fault tolerant role is responsible for coordination between replicated role instances (replicas). Moreover, our approach is flexible in terms of fault tolerance since it is possible to easily modify existing behaviors of the "fault tolerant" role, remove some of its behaviors, or include new behaviors to it due to its characteristic architecture.