diff --git a/clients/tools/ldapsearch.c b/clients/tools/ldapsearch.c
index e84a7741586c4fff2556510a408aa983aad5c76f..07331149a1b3044ed17c1d976de0436b1819523b 100644
--- a/clients/tools/ldapsearch.c
+++ b/clients/tools/ldapsearch.c
@@ -1341,8 +1341,10 @@ getNextPage:
 	if ( derefval.bv_val != NULL ) {
 		ldap_memfree( derefval.bv_val );
 	}
-	if ( def_urlpre != NULL ) {
-		ber_memfree( def_urlpre );
+	if ( urlpre != NULL ) {
+		if ( def_urlpre != urlpre )
+			free( def_urlpre );
+		free( urlpre );
 	}
 
 	if ( c ) {
@@ -1897,4 +1899,3 @@ static int print_result(
 
 	return err;
 }
-