diff --git a/CHANGES b/CHANGES
index d99ed0c1b5965e590d5fbc67b4845425837044e7..bc4e33f08e16351e56f6f01510eafb44f2f0d6f5 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,7 @@ OpenLDAP 2.4.24 Engineering
 	Fixed liblutil getpass prompts (ITS#6702)
 	Fixed ldapsearch segfault with deref (ITS#6638)
 	Fixed slapd acl parsing overflow (ITS#6611)
+	Fixed slapd config leak with olcDbDirectory (ITS#6634)
 	Fixed slapd filter leak (ITS#6635)
 	Fixed slapd when first acl is value dependent (ITS#6693)
 	Fixed slapd modify to return actual error (ITS#6581)
diff --git a/servers/slapd/config.c b/servers/slapd/config.c
index 0ebcf7da14f11feedbcaf2c314be833b68175d80..abb1d79f4a4b740b83594a80c87a475975f2a8e6 100644
--- a/servers/slapd/config.c
+++ b/servers/slapd/config.c
@@ -467,7 +467,7 @@ config_get_vals(ConfigTable *cf, ConfigArgs *c)
 				c->value_string = ch_strdup(*(char **)ptr);
 			break;
 		case ARG_BERVAL:
-			ber_dupbv( &c->value_bv, (struct berval *)ptr ); break;
+			c->value_bv = *((struct berval *)ptr); break;
 		case ARG_ATDESC:
 			c->value_ad = *(AttributeDescription **)ptr; break;
 		}