diff --git a/CHANGES b/CHANGES
index 4ba194ace525542e5ecdff710f4d3bc3defc8b49..65d33b4c29a7a978b6937f4cad279f8e3f662e02 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,7 @@
 OpenLDAP 2.4 Change Log
 
 OpenLDAP 2.4.15 Release (2009/02/19)
+	Added libldap alias dereferencing in C API again (ITS#5916)
 	Fixed libldap GnuTLS compilation (ITS#5955)
 	Fixed slapd bconfig conversion again (ITS#5346)
 	Fixed slapd corrupt contextCSN (ITS#5947)
diff --git a/libraries/libldap/search.c b/libraries/libldap/search.c
index 7dfdbd16c37d855b329d933a804bdd0bd3f60106..5c4e234e72395392130014ed21832d9329ad101d 100644
--- a/libraries/libldap/search.c
+++ b/libraries/libldap/search.c
@@ -315,7 +315,8 @@ ldap_build_search_req(
 #endif
 	{
 	    err = ber_printf( ber, "{it{seeiib", *idp,
-		LDAP_REQ_SEARCH, base, (ber_int_t) scope, ld->ld_deref,
+		LDAP_REQ_SEARCH, base, (ber_int_t) scope,
+		(deref < 0) ? ld->ld_deref : deref,
 		(sizelimit < 0) ? ld->ld_sizelimit : sizelimit,
 		(timelimit < 0) ? ld->ld_timelimit : timelimit,
 		attrsonly );