diff --git a/CHANGES b/CHANGES
index e03b4890647ef47487fe439324651cdff173b3f7..74f6c11a3ce665d7ea5f7acdc178aae23d2b7376 100644
--- a/CHANGES
+++ b/CHANGES
@@ -10,6 +10,7 @@ OpenLDAP 2.4.14 Engineering
 	Added slapd val.regex expansion (ITS#5804)
 	Added slapo-rwm newRDN rewriting (ITS#5834)
 	Fixed slapd bconfig to return error codes (ITS#5867)
+	Fixed slapd bconfig encoding incorrectly (ITS#5897)
 	Fixed slapd syncrepl rename handling (ITS#5809)
 	Fixed slapd syncrepl MMR when adding new server (ITS#5850)
 	Fixed slapd syncrepl replication with glued DB (ITS#5866)
diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c
index 5fa46ced536e23c588a1a3d9e692d2cc2b70edf1..59954ec64fcce08af9efffe2eeecf090a6237f32 100644
--- a/servers/slapd/bconfig.c
+++ b/servers/slapd/bconfig.c
@@ -1028,7 +1028,7 @@ config_generic(ConfigArgs *c) {
 					if ( !BER_BVISEMPTY( &si->si_url )) {
 						bv.bv_len = si->si_url.bv_len + 6;
 						bv.bv_val = ch_malloc( bv.bv_len );
-						sprintf( bv.bv_val, "%d %s", si->si_num,
+						bv.bv_len = sprintf( bv.bv_val, "%d %s", si->si_num,
 							si->si_url.bv_val );
 						ber_bvarray_add( &c->rvalue_vals, &bv );
 					} else {