diff --git a/servers/slapd/extended.c b/servers/slapd/extended.c
index 0699b8473574b6d708621f5c91ffbecac0f95ecf..be8bba53e9cc9b60549b453504aac05cf76435b5 100644
--- a/servers/slapd/extended.c
+++ b/servers/slapd/extended.c
@@ -153,7 +153,7 @@ do_extended(
 		&rspoid, &rspdata, &rspctrls, &text, &refs );
 
 	if( rc != SLAPD_ABANDON ) {
-		if (rc == LDAP_REFERRAL) {
+		if (rc == LDAP_REFERRAL && refs == NULL ) {
 			refs = default_referral;
 		}