diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index d565705..6568cec 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -256,6 +256,8 @@
     ngx_int_t        n;
     struct hostent  *h;
 
+    u->family = AF_INET;
+
     host = u->url.data;
 
     last = host + u->url.len;
@@ -279,12 +281,23 @@
     if (port) {
         port++;
 
-        if (last - port == 0) {
+        len = last - port;
+
+        if (len == 0) {
             u->err = "invalid port";
             return NGX_ERROR;
         }
 
-        u->port_text.len = last - port;
+        n = ngx_atoi(port, len);
+
+        if (n < 1 || n > 65536) {
+            u->err = "invalid port";
+            return NGX_ERROR;
+        }
+
+        u->port = (in_port_t) n;
+
+        u->port_text.len = len;
         u->port_text.data = port;
 
         last = port - 1;
@@ -332,6 +345,10 @@
     u->host.len = len;
     u->host.data = host;
 
+    if (u->no_resolve) {
+        return NGX_OK;
+    }
+
     if (len++) {
 
         p = ngx_alloc(len, pool->log);
@@ -361,24 +378,6 @@
         u->addr.in_addr = INADDR_ANY;
     }
 
-    if (u->port_text.len) {
-
-        n = ngx_atoi(u->port_text.data, u->port_text.len);
-
-        if (n < 1 || n > 65536) {
-            u->err = "invalid port";
-            return NGX_ERROR;
-        }
-
-        u->port = (in_port_t) n;
-    }
-
-    u->family = AF_INET;
-
-    if (u->no_resolve) {
-        return NGX_OK;
-    }
-
     if (u->no_port) {
         u->port = u->default_port;
     }
