5b01eb
diff -up cups-1.7b1/cups/http-addr.c.res_init cups-1.7b1/cups/http-addr.c
5b01eb
--- cups-1.7b1/cups/http-addr.c.res_init	2013-03-20 19:14:10.000000000 +0100
5b01eb
+++ cups-1.7b1/cups/http-addr.c	2013-04-19 12:01:36.927512159 +0200
5b01eb
@@ -319,7 +319,8 @@ httpAddrLookup(
ac3f59
 
ac3f59
     if (error)
ac3f59
     {
ac3f59
-      if (error == EAI_FAIL)
ac3f59
+      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
ac3f59
+          error == EAI_NONAME)
ac3f59
         cg->need_res_init = 1;
ac3f59
 
ac3f59
       return (httpAddrString(addr, name, namelen));
5b01eb
diff -up cups-1.7b1/cups/http-addrlist.c.res_init cups-1.7b1/cups/http-addrlist.c
5b01eb
--- cups-1.7b1/cups/http-addrlist.c.res_init	2013-04-19 12:01:36.930512119 +0200
5b01eb
+++ cups-1.7b1/cups/http-addrlist.c	2013-04-19 12:03:13.769229554 +0200
5b01eb
@@ -581,7 +581,8 @@ httpAddrGetList(const char *hostname,	/*
eaed78
     }
47ca1c
     else
47ca1c
     {
47ca1c
-      if (error == EAI_FAIL)
47ca1c
+      if (error == EAI_FAIL || error == EAI_AGAIN || error == EAI_NODATA ||
47ca1c
+          error == EAI_NONAME)
47ca1c
         cg->need_res_init = 1;
eaed78
 
5b01eb
       _cupsSetError(IPP_STATUS_ERROR_INTERNAL, gai_strerror(error), 0);