diff --git a/CHANGES b/CHANGES
index 75540b6020021a0c6230f19da1b47f435d370d35..021b9fe8a155f46308f0de4959c832b0cdad3ba7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -14,6 +14,7 @@ OpenLDAP 2.4.22 Engineering
 	Fixed slapd sasl auxprop ssf (ITS#5195)
 	Fixed slapd syncrepl for unknown attrs and delta-sync (ITS#6473)
 	Fixed slapd-bdb contextCSN updates from updatedn (ITS#6469)
+	Fixed slapd-bdb lockobj zeroing (ITS#6501)
 	Fixed slapo-collect REP_ENTRY flag handling (ITS#5340,ITS#6423)
 	Fixed slapo-dds with NULL backend (ITS#6490)
 	Fixed slapo-dynlist REP_ENTRY flag handling (ITS#5340,ITS#6423)
diff --git a/servers/slapd/back-bdb/cache.c b/servers/slapd/back-bdb/cache.c
index f4de1cb9eab933420f065f6139e6dc20f1e52340..5e0d7bfde3869fb8883e7006bd26ab9cd5e07a11 100644
--- a/servers/slapd/back-bdb/cache.c
+++ b/servers/slapd/back-bdb/cache.c
@@ -184,6 +184,7 @@ bdb_cache_entry_db_relock(
 
 	if ( !lock ) return 0;
 
+	DBTzero( &lockobj );
 	lockobj.data = &ei->bei_id;
 	lockobj.size = sizeof(ei->bei_id) + 1;
 
@@ -225,6 +226,7 @@ bdb_cache_entry_db_lock( struct bdb_info *bdb, DB_TXN *txn, EntryInfo *ei,
 	else
 		db_rw = DB_LOCK_READ;
 
+	DBTzero( &lockobj );
 	lockobj.data = &ei->bei_id;
 	lockobj.size = sizeof(ei->bei_id) + 1;