diff --git a/servers/slapd/back-ldap/chain.c b/servers/slapd/back-ldap/chain.c
index 0f7bedae0397fc31a1eb52c9d6be084c3eb3678c..70a424d3936d8608633eedbc0ce0e10b2ccfd1c5 100644
--- a/servers/slapd/back-ldap/chain.c
+++ b/servers/slapd/back-ldap/chain.c
@@ -975,6 +975,9 @@ ldap_chain_response( Operation *op, SlapReply *rs )
 	if ( rs->sr_err != LDAP_REFERRAL && rs->sr_type != REP_SEARCHREF ) {
 		return SLAP_CB_CONTINUE;
 	}
+	if ( !rs->sr_ref ) {
+		return SLAP_CB_CONTINUE;
+	}
 
 #ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR
 	if ( rs->sr_err == LDAP_REFERRAL && get_chaining( op ) > SLAP_CONTROL_IGNORED ) {