diff --git a/CHANGES b/CHANGES
index c48ee354a6739d02f78908fab68813bbab8eff89..450b008bf696a22cb0abb9973ca3ae70495dcf6e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
 OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.11 Engineering
+	Fixed slapd sets memory leak (ITS#5557)
 	Added slapo-nssov contrib module
 	Fixed slapo-ppolicy DNs with whitespaces (ITS#5552)
 	Fixed slapo-syncprov ACL evaluation (ITS#5548)
diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c
index d7c56fa9ed4b41f2726b389f8ef3cb853f4949a2..d8de70044de0f95cc4427a3d0dec7a809e492c03 100644
--- a/servers/slapd/sets.c
+++ b/servers/slapd/sets.c
@@ -200,6 +200,7 @@ slap_set_join(
 							cp->set_op->o_tmpfree( rset[ i ].bv_val, cp->set_op->o_tmpmemctx );
 							rset[ i ] = rset[ --rlast ];
 							BER_BVZERO( &rset[ rlast ] );
+							i--;
 						}
 						exists = 1;
 						break;