This article describes how data replication plays an important role in distributed systems. It primarily focuses on the redundancy of data at two or more nodes, to achieve both fault tolerance and improved performance. Therefore, many researchers have proposed various data replication algorithms to manage the redundancy of data. However, they have not considered the faults that are associated with the nodes, such as permanent, transient and intermittent. Moreover, they have not incorporated any recovery approach to rejoin the failed nodes. Therefore, the authors propose a data replication algorithm, called dynamic vote-based data replication (DVDR). The main contribution of DVDR is to consider all types of faults and rejoin the failed nodes. DVDR is based on dynamic vote assignment among the connected nodes, and referred as passive and non-hierarchical one. The authors perform rigorous analysis of DVDR and compare with an existing dynamic vote assignment algorithm. The result shows the efficacy of the proposed algorithm.