diff --git a/src/traft/node.rs b/src/traft/node.rs
index 92fec31ef95600d8da3340bb70482f7e8835ab81..a833028d4bb8f2f6636bc9f9acae9f8995eff8be 100644
--- a/src/traft/node.rs
+++ b/src/traft/node.rs
@@ -374,7 +374,11 @@ impl NodeImpl {
             self.topology_cache.take_or_drop(&current_term),
             {
                 let peers = self.storage.peers.all_peers()?;
-                let replication_factor = self.storage.state.get(StateKey::ReplicationFactor)?.unwrap();
+                let replication_factor = self
+                    .storage
+                    .state
+                    .get(StateKey::ReplicationFactor)?
+                    .ok_or_else(|| Error::other("missing replication_factor value in storage"))?;
                 Topology::from_peers(peers).with_replication_factor(replication_factor)
             }
         };