--- query.c.old	Sat Dec 25 01:36:39 1999
+++ query.c	Wed Dec 29 19:15:00 1999
@@ -416,14 +416,15 @@
       break;
   if (j == 64) goto SERVFAIL;
 
+memcpy(z->servers[z->level],roots,64);
   dns_sortip(z->servers[z->level],64);
   if (z->level) {
     log_tx(z->name[z->level],DNS_T_A,z->control[z->level],z->servers[z->level],z->level);
-    if (dns_transmit_start(&z->dt,z->servers[z->level],0,z->name[z->level],DNS_T_A,z->localip) == -1) goto DIE;
+    if (dns_transmit_start(&z->dt,z->servers[z->level],1,z->name[z->level],DNS_T_A,z->localip) == -1) goto DIE;
   }
   else {
     log_tx(z->name[0],z->type,z->control[0],z->servers[0],0);
-    if (dns_transmit_start(&z->dt,z->servers[0],0,z->name[0],z->type,z->localip) == -1) goto DIE;
+    if (dns_transmit_start(&z->dt,z->servers[0],1,z->name[0],z->type,z->localip) == -1) goto DIE;
   }
   return 0;
 
@@ -501,7 +502,7 @@
   posglue = pos;
 
 
-  if (!flagcname && !rcode && !flagout && flagreferral && !flagsoa)
+  if (!flagcname && !rcode && !flagout && flagreferral && !flagsoa && 0)
     if (dns_domain_equal(referral,control) || !dns_domain_suffix(referral,control)) {
       log_lame(whichserver,control,referral);
       byte_zero(whichserver,4);
