diff --git a/lib/confd/client.py b/lib/confd/client.py
index e3288683f03d7ea071c35e2c462fb6bd7dd19cab..dba30ee0becc57a98c87c83fbcba0376c464a906 100644
--- a/lib/confd/client.py
+++ b/lib/confd/client.py
@@ -133,7 +133,8 @@ class ConfdClient:
     # pylint: disable-msg=W0201
     if not isinstance(peers, list):
       raise errors.ProgrammerError("peers must be a list")
-    self._peers = peers
+    # make a copy of peers, since we're going to shuffle the list, later
+    self._peers = list(peers)
 
   def _PackRequest(self, request, now=None):
     """Prepare a request to be sent on the wire.