diff -ur dnsmasq-2.47/src/forward.c dnsmasq-2.47-patched/src/forward.c --- dnsmasq-2.47/src/forward.c 2009-02-01 17:59:48.000000000 +0200 +++ dnsmasq-2.47-patched/src/forward.c 2009-03-18 19:10:22.000000000 +0200 @@ -488,9 +488,12 @@ return; server = forward->sentto; + + if ( (header->rcode == NXDOMAIN) && ((daemon->options & OPT_ORDER) != 0) && (server->next != NULL) ) + header->rcode = SERVFAIL; if ((header->rcode == SERVFAIL || header->rcode == REFUSED) && - !(daemon->options & OPT_ORDER) && + ((daemon->options & OPT_ORDER) != 0) && forward->forwardall == 0) /* for broken servers, attempt to send to another one. */ {