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