diff --git a/bind-9.3.1-next_server_on_referral.patch b/bind-9.3.1-next_server_on_referral.patch
index 90ca474..bcf7b42 100644
--- a/bind-9.3.1-next_server_on_referral.patch
+++ b/bind-9.3.1-next_server_on_referral.patch
@@ -1,6 +1,6 @@
---- bind-9.3.1/bin/dig/dighost.c.next_server_on_referral	2005-07-07 13:19:29.000000000 -0400
-+++ bind-9.3.1/bin/dig/dighost.c	2005-07-07 14:30:38.000000000 -0400
-@@ -2765,7 +2765,15 @@
+--- bind-9.3.1/bin/dig/dighost.c.next_server_on_referral	2005-08-16 16:27:33.000000000 -0400
++++ bind-9.3.1/bin/dig/dighost.c	2005-08-16 16:27:49.000000000 -0400
+@@ -2765,7 +2765,17 @@
  		UNLOCK_LOOKUP;
  		return;
  	}			
@@ -9,7 +9,9 @@
 +	   &&( (msg->rcode == dns_rcode_servfail)
 +	     ||(  (msg->rcode == dns_rcode_noerror) 
 +	        &&(msg->counts[DNS_SECTION_ANSWER] == 0)
-+		&&((msg->flags & (DNS_MESSAGEFLAG_AA | DNS_MESSAGEFLAG_RA)) == 0)
++	        &&(msg->counts[DNS_SECTION_ADDITIONAL] == 0)
++		&&((msg->flags &  DNS_MESSAGEFLAG_RD) == DNS_MESSAGEFLAG_RD)
++		&&((msg->flags & (DNS_MESSAGEFLAG_RA | DNS_MESSAGEFLAG_AA)) == 0)
 +	       )
 +	     )
 +	   )
@@ -17,7 +19,7 @@
  		dig_query_t *next = ISC_LIST_NEXT(query, link);
  		if (l->current_query == query)
  			l->current_query = NULL;
-@@ -2783,9 +2791,11 @@
+@@ -2783,9 +2793,11 @@
  		 */
  		if ((ISC_LIST_HEAD(l->q) != query) ||
  		    (ISC_LIST_NEXT(query, link) != NULL)) {