diff --git a/mongoose.c b/mongoose.c
index 2530640aa855ce4d556546cfbb90c7bdc653baa1..f25de77fe57547f86c842ffcefd56cff81b5f9df 100644
--- a/mongoose.c
+++ b/mongoose.c
@@ -593,6 +593,7 @@ int ns_socketpair(sock_t sp[2]) {
 
 // TODO(lsm): use non-blocking resolver
 static int ns_resolve2(const char *host, struct in_addr *ina) {
+#ifdef NS_ENABLE_GETADDRINFO  
   int rv = 0;
   struct addrinfo hints, *servinfo, *p;
   struct sockaddr_in *h = NULL;
@@ -615,6 +616,16 @@ static int ns_resolve2(const char *host, struct in_addr *ina) {
 
   freeaddrinfo(servinfo);
   return 1;
+#else
+  struct hostent *he;
+  if ((he = gethostbyname(host)) == NULL) {
+    DBG(("gethostbyname(%s) failed: %s", host, strerror(errno)));
+  } else {
+    memcpy(ina, he->h_addr_list[0], sizeof(*ina));
+    return 1;
+  }
+  return 0;
+#endif
 }
 
 // Resolve FDQN "host", store IP address in the "ip".