diff --git a/servers/slapd/back-bdb/cache.c b/servers/slapd/back-bdb/cache.c
index 39a7d290c8db3752d3c0ca193d32d4902c344b48..a42db5c5a20cace55b8d41d309ae599368dbc3aa 100644
--- a/servers/slapd/back-bdb/cache.c
+++ b/servers/slapd/back-bdb/cache.c
@@ -101,6 +101,7 @@ bdb_cache_entryinfo_free( Cache *cache, EntryInfo *ei )
 	cache->c_eifree = ei;
 	ldap_pvt_thread_mutex_unlock( &cache->c_eifree_mutex );
 #else
+	ldap_pvt_thread_mutex_destroy( &ei->bei_kids_mutex );
 	ch_free( ei );
 #endif
 }
diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c
index 6c197c09544c2cf4685192ca71050a3fc15d4edf..c47e2373e1494192e84e47a44187bee8c957238f 100644
--- a/servers/slapd/backend.c
+++ b/servers/slapd/backend.c
@@ -471,6 +471,8 @@ void backend_destroy_one( BackendDB *bd, int dynamic )
 		ber_bvarray_free( bd->be_update_refs );
 	}
 
+	ldap_pvt_thread_mutex_destroy( &bd->be_pcl_mutex );
+
 	if ( dynamic ) {
 		free( bd );
 	}
@@ -620,6 +622,7 @@ backend_db_init(
 		/* If we created and linked this be, remove it and free it */
 		if ( !b0 ) {
 			LDAP_STAILQ_REMOVE(&backendDB, be, BackendDB, be_next);
+			ldap_pvt_thread_mutex_destroy( &be->be_pcl_mutex );
 			ch_free( be );
 			be = NULL;
 			nbackends--;
diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c
index 26e28e7de9656c6ce506bc9a823e2e80cfd18cf6..ea9820b045e442537de84322b4e9a376cadeaa95 100644
--- a/servers/slapd/overlays/pcache.c
+++ b/servers/slapd/overlays/pcache.c
@@ -1599,6 +1599,8 @@ add_query(
 		templ->query = new_cached_query;
 		templ->no_of_queries++;
 	} else {
+		ldap_pvt_thread_mutex_destroy(&new_cached_query->answerable_cnt_mutex);
+		ldap_pvt_thread_rdwr_destroy( &new_cached_query->rwlock );
 		ch_free( new_cached_query );
 		new_cached_query = find_filter( op, qbase->scopes[query->scope],
 							query->filter, first );
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c
index 42a21092942b9f49e61016571e9f212cb869f075..5ab573dff442f688ad40c47d0da925b61051aa69 100644
--- a/servers/slapd/overlays/syncprov.c
+++ b/servers/slapd/overlays/syncprov.c
@@ -3152,6 +3152,7 @@ syncprov_db_destroy(
 				se = se_next;
 			}
 				
+			ldap_pvt_thread_mutex_destroy(&si->si_logs->sl_mutex);
 			ch_free( si->si_logs );
 		}
 		if ( si->si_ctxcsn )
diff --git a/servers/slapd/overlays/translucent.c b/servers/slapd/overlays/translucent.c
index 03e807c8910cf4e577bf6ac624b4a470bc94aa3a..2bbe357d380b46f408d6ea4d5dad91453de9efd3 100644
--- a/servers/slapd/overlays/translucent.c
+++ b/servers/slapd/overlays/translucent.c
@@ -1383,6 +1383,7 @@ translucent_db_destroy( BackendDB *be, ConfigReply *cr )
 			backend_stopdown_one( &ov->db );
 		}
 
+		ldap_pvt_thread_mutex_destroy( &ov->db.be_pcl_mutex );
 		ch_free(ov);
 		on->on_bi.bi_private = NULL;
 	}