diff --git a/src/core/ngx_connection.c b/src/core/ngx_connection.c
index 8274775..226dc1e 100644
--- a/src/core/ngx_connection.c
+++ b/src/core/ngx_connection.c
@@ -49,7 +49,6 @@
                         - ls->addr_text.data;
 
     ls->fd = (ngx_socket_t) -1;
-    ls->family = AF_INET;
     ls->type = SOCK_STREAM;
     ls->sockaddr = (struct sockaddr *) sin;
     ls->socklen = sizeof(struct sockaddr_in);
@@ -113,9 +112,8 @@
             return NGX_ERROR;
         }
 
-        ls[i].family = sin->sin_family;
-        len = ngx_sock_ntop(ls[i].family, ls[i].sockaddr,
-                            ls[i].addr_text.data, NGX_INET_ADDRSTRLEN);
+        len = ngx_sock_ntop(ls[i].sockaddr, ls[i].addr_text.data,
+                            NGX_INET_ADDRSTRLEN);
         if (len == 0) {
             return NGX_ERROR;
         }
@@ -255,7 +253,7 @@
                 continue;
             }
 
-            s = ngx_socket(ls[i].family, ls[i].type, 0);
+            s = ngx_socket(ls[i].sockaddr->sa_family, ls[i].type, 0);
 
             if (s == -1) {
                 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h
index a2ae690..573fb3c 100644
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -23,7 +23,6 @@
     size_t              addr_text_max_len;
     ngx_str_t           addr_text;
 
-    int                 family;
     int                 type;
 
     int                 backlog;
diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index dc0a550..a22b2cc 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -56,12 +56,12 @@
 /* AF_INET only */
 
 size_t
-ngx_sock_ntop(int family, struct sockaddr *sa, u_char *text, size_t len)
+ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len)
 {
     u_char              *p;
     struct sockaddr_in  *sin;
 
-    if (family == AF_INET) {
+    if (sa->sa_family == AF_INET) {
 
         sin = (struct sockaddr_in *) sa;
         p = (u_char *) &sin->sin_addr;
@@ -457,7 +457,7 @@
                 return NGX_ERROR;
             }
 
-            len = ngx_sock_ntop(AF_INET, (struct sockaddr *) sin, p, len);
+            len = ngx_sock_ntop((struct sockaddr *) sin, p, len);
 
             u->addrs[i].name.len = ngx_sprintf(&p[len], ":%d", u->port) - p;
             u->addrs[i].name.data = p;
diff --git a/src/core/ngx_inet.h b/src/core/ngx_inet.h
index 95ba30b..cbff8fd 100644
--- a/src/core/ngx_inet.h
+++ b/src/core/ngx_inet.h
@@ -63,7 +63,7 @@
 
 
 in_addr_t ngx_inet_addr(u_char *text, size_t len);
-size_t ngx_sock_ntop(int family, struct sockaddr *sa, u_char *text, size_t len);
+size_t ngx_sock_ntop(struct sockaddr *sa, u_char *text, size_t len);
 size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len);
 ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr);
 ngx_int_t ngx_parse_url(ngx_pool_t *pool, ngx_url_t *u);
