diff --git a/lib/membership/index.js b/lib/membership/index.js
index <HASH>..<HASH> 100644
--- a/lib/membership/index.js
+++ b/lib/membership/index.js
@@ -289,6 +289,7 @@ Membership.prototype.update = function update(changes, isLocal) {
         // One-time subscription for batching applied updates
         member.once('updated', onMemberUpdated);
         member.evaluateUpdate(change);
+        member.removeListener('updated', onMemberUpdated);
     }
 
     if (updates.length > 0) {
Remove listener after evaluating update to prevent leaking listeners