diff --git a/slirp/misc.c b/slirp/misc.c
index a58b631..1cd8749 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -88,15 +88,16 @@
 getouraddr()
 {
 	char buff[256];
-	struct hostent *he;
+	struct hostent *he = NULL;
 	
-	if (gethostname(buff,256) < 0)
-	   return;
-	
-	if ((he = gethostbyname(buff)) == NULL)
-	   return;
-	
-	our_addr = *(struct in_addr *)he->h_addr;
+	if (gethostname(buff,256) == 0)
+            he = gethostbyname(buff);
+        if (he)
+            our_addr = *(struct in_addr *)he->h_addr;
+        /* If the host doesn't have a useful IP address then use the
+           guest side address.  */
+        if (our_addr.s_addr == 0 || our_addr.s_addr == loopback_addr.s_addr)
+            our_addr.s_addr = special_addr.s_addr | htonl(CTL_ALIAS);
 }
 
 #if SIZEOF_CHAR_P == 8
diff --git a/slirp/slirp.c b/slirp/slirp.c
index a7d3f69..b4ab12a 100644
--- a/slirp/slirp.c
+++ b/slirp/slirp.c
@@ -146,7 +146,6 @@
     m_init();
 
     /* set default addresses */
-    getouraddr();
     inet_aton("127.0.0.1", &loopback_addr);
 
     if (get_dns_addr(&dns_addr) < 0) {
@@ -155,6 +154,7 @@
     }
 
     inet_aton(CTL_SPECIAL, &special_addr);
+    getouraddr();
 }
 
 #define CONN_CANFSEND(so) (((so)->so_state & (SS_FCANTSENDMORE|SS_ISFCONNECTED)) == SS_ISFCONNECTED)
