diff --git a/clients/tools/ldappasswd.c b/clients/tools/ldappasswd.c
index c5b42a557289e1f3099ab20d9d8a7a38b10b369d..728b29201e3302f62d48ed3cf40764146bcf1a84 100644
--- a/clients/tools/ldappasswd.c
+++ b/clients/tools/ldappasswd.c
@@ -389,7 +389,6 @@ main( int argc, char *argv[] )
 			" new password expected", NULL, NULL, NULL );
 	}
 
-skip:
 	if( verbose || code != LDAP_SUCCESS ||
 		matcheddn || text || refs || ctrls )
 	{
diff --git a/clients/tools/ldapsearch.c b/clients/tools/ldapsearch.c
index 1bb7ec8db8b2c5289fbac43475a0df8575844c59..43d4b5ff0e0adf10ccdb993cafdb281e81314568 100644
--- a/clients/tools/ldapsearch.c
+++ b/clients/tools/ldapsearch.c
@@ -413,7 +413,7 @@ handle_private_option( int i )
 				exit( EXIT_FAILURE );
 			}
 			keyp = cvalue;
-			while (keyp = strchr(keyp, '/')) {
+			while ( ( keyp = strchr(keyp, '/') ) != NULL ) {
 				*keyp++ = ' ';
 			}
 			if ( ldap_create_sort_keylist( &sss_keys, cvalue )) {
diff --git a/libraries/libldap/open.c b/libraries/libldap/open.c
index cda6e86423ad7fd766fb8bffb9187dfe8bfb78c6..8588e884580d84d371cdd33bdecda19a878fe134 100644
--- a/libraries/libldap/open.c
+++ b/libraries/libldap/open.c
@@ -337,8 +337,7 @@ ldap_int_open_connection(
 	int async )
 {
 	int rc = -1;
-	char *host;
-	int port, proto;
+	int proto;
 
 	Debug( LDAP_DEBUG_TRACE, "ldap_int_open_connection\n", 0, 0, 0 );
 
diff --git a/servers/slapd/back-bdb/dn2id.c b/servers/slapd/back-bdb/dn2id.c
index 49a89f8dec43a1040e99745e2af3a6b7990d5729..fd557ea29488fa59d473253ddaedeb28c05c8e19 100644
--- a/servers/slapd/back-bdb/dn2id.c
+++ b/servers/slapd/back-bdb/dn2id.c
@@ -623,7 +623,6 @@ hdb_dn2id_add(
 		}
 	}
 
-func_leave:
 	op->o_tmpfree( d, op->o_tmpmemctx );
 	Debug( LDAP_DEBUG_TRACE, "<= hdb_dn2id_add 0x%lx: %d\n", e->e_id, rc, 0 );
 
diff --git a/servers/slapd/back-bdb/tools.c b/servers/slapd/back-bdb/tools.c
index 235e35042e22a0f12e2a25f2ef2f0e8d6d36ebfc..eb09962c78d553a3e664238cc8b0429e2765021d 100644
--- a/servers/slapd/back-bdb/tools.c
+++ b/servers/slapd/back-bdb/tools.c
@@ -241,7 +241,6 @@ ID bdb_tool_dn2id_get(
 
 Entry* bdb_tool_entry_get( BackendDB *be, ID id )
 {
-	struct bdb_info *bdb = (struct bdb_info *) be->be_private;
 	Entry *e = NULL;
 	char *dptr;
 	int rc, eoff;
@@ -298,6 +297,7 @@ Entry* bdb_tool_entry_get( BackendDB *be, ID id )
 		e->e_id = id;
 #ifdef BDB_HIER
 		if ( slapMode & SLAP_TOOL_READONLY ) {
+			struct bdb_info *bdb = (struct bdb_info *) be->be_private;
 			EntryInfo *ei = NULL;
 			Operation op = {0};
 			Opheader ohdr = {0};
diff --git a/servers/slapd/back-ldap/init.c b/servers/slapd/back-ldap/init.c
index fa32fd47f4832c2930157ffb86638c7241a57a8d..22d7adc53f7ec4d646339d25a6a25132cf7b1a2c 100644
--- a/servers/slapd/back-ldap/init.c
+++ b/servers/slapd/back-ldap/init.c
@@ -233,14 +233,10 @@ ldap_back_db_open( BackendDB *be, ConfigReply *cr )
 	if ( rc != 0 ) {
 		/* ignore by now */
 		rc = 0;
-#if 0
-		goto fail;
-#endif
 	}
 
 	li->li_flags |= LDAP_BACK_F_ISOPEN;
 
-fail:;
 	return rc;
 }
 
diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c
index e14a0192a58a967e42a4c25f18c52ccfd1163140..f0194a739ddef138b17eacfbe05a9bc833353762 100644
--- a/servers/slapd/backover.c
+++ b/servers/slapd/backover.c
@@ -1107,7 +1107,7 @@ void
 overlay_remove( BackendDB *be, slap_overinst *on )
 {
 	slap_overinfo *oi = on->on_info;
-	slap_overinst **oidx, *on2;
+	slap_overinst **oidx;
 
 	/* remove overlay from oi_list an call db_close and db_destroy
 	 * handlers */
diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c
index a241c0f1107d94536069377e2b6508a8de328e99..ca86da541de565ab255a685a764fe69caa369f9a 100644
--- a/servers/slapd/bconfig.c
+++ b/servers/slapd/bconfig.c
@@ -5336,8 +5336,6 @@ config_back_delete( Operation *op, SlapReply *rs )
 	CfBackInfo *cfb;
 	CfEntryInfo *ce, *last, *ce2;
 
-	slap_mask_t mask;
-
 	cfb = (CfBackInfo *)op->o_bd->be_private;
 
 	ce = config_find_base( cfb->cb_root, &op->o_req_ndn, &last );
@@ -5349,7 +5347,7 @@ config_back_delete( Operation *op, SlapReply *rs )
 		rs->sr_err = LDAP_UNWILLING_TO_PERFORM;
 	} else if ( ce->ce_type == Cft_Overlay ){
 		char *iptr;
-		int count, ixold, rc;
+		int count, ixold;
 
 		ldap_pvt_thread_pool_pause( &connection_pool );
 		
diff --git a/servers/slapd/overlays/collect.c b/servers/slapd/overlays/collect.c
index 00834d3c06b546c102f07a832405987c09e9d6a6..4852022f95da3d793ccab842c0212ad8d219426e 100644
--- a/servers/slapd/overlays/collect.c
+++ b/servers/slapd/overlays/collect.c
@@ -31,6 +31,8 @@
 #include "slap.h"
 #include "config.h"
 
+#include "lutil.h"
+
 /* This is a cheap hack to implement a collective attribute.
  *
  * This demonstration overlay looks for a specified attribute in an
@@ -266,7 +268,7 @@ collect_modify( Operation *op, SlapReply *rs)
 	collect_info *ci = on->on_bi.bi_private;
 	Modifications *ml;
 	char errMsg[100];
-	int rc, idx;
+	int idx;
 
 	for ( ml = op->orm_modlist; ml != NULL; ml = ml->sml_next) {
 		for (; ci; ci=ci->ci_next ) {
diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c
index 4e958e05a57a79850c3c61862941408743476aa0..6d8b40e5e7f1ae361b254c31b1ec0babe3955247 100644
--- a/servers/slapd/overlays/constraint.c
+++ b/servers/slapd/overlays/constraint.c
@@ -498,7 +498,6 @@ static int
 constraint_add( Operation *op, SlapReply *rs )
 {
 	slap_overinst *on = (slap_overinst *) op->o_bd->bd_info;
-	Backend *be = op->o_bd;
 	Attribute *a;
 	constraint *c = on->on_bi.bi_private, *cp;
 	BerVarray b = NULL;
diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c
index 5c9cff1317342113c90e63b20a72a6eb90ab5d79..e05ee7fe4749ab497f6b290144f5b2f7f0b1d8b8 100644
--- a/servers/slapd/overlays/syncprov.c
+++ b/servers/slapd/overlays/syncprov.c
@@ -393,9 +393,6 @@ static struct berval generic_filterstr = BER_BVC("(objectclass=*)");
 static int
 syncprov_findbase( Operation *op, fbase_cookie *fc )
 {
-	opcookie *opc = op->o_callback->sc_private;
-	slap_overinst *on = opc->son;
-
 	/* Use basic parameters from syncrepl search, but use
 	 * current op's threadctx / tmpmemctx
 	 */