diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 0d22166..6258380 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1220,7 +1220,7 @@
             }
 
             addr[i].opt = *lsopt;
-            addr[i].core_srv_conf = cscf;
+            addr[i].default_server = cscf;
         }
 
         return NGX_OK;
@@ -1266,7 +1266,7 @@
     addr->nregex = 0;
     addr->regex = NULL;
 #endif
-    addr->core_srv_conf = cscf;
+    addr->default_server = cscf;
     addr->servers.elts = NULL;
 
     return ngx_http_add_server(cf, cscf, addr);
@@ -1325,7 +1325,7 @@
 
             if (addr[a].servers.nelts > 1
 #if (NGX_PCRE)
-                || addr[a].core_srv_conf->captures
+                || addr[a].default_server->captures
 #endif
                )
             {
@@ -1388,7 +1388,7 @@
             }
 #endif
 
-            rc = ngx_hash_add_key(&ha, &name[n].name, name[n].core_srv_conf,
+            rc = ngx_hash_add_key(&ha, &name[n].name, name[n].server,
                                   NGX_HASH_WILDCARD_KEY);
 
             if (rc == NGX_ERROR) {
@@ -1636,7 +1636,7 @@
 
     ls->handler = ngx_http_init_connection;
 
-    cscf = addr->core_srv_conf;
+    cscf = addr->default_server;
     ls->pool_size = cscf->connection_pool_size;
     ls->post_accept_timeout = cscf->client_header_timeout;
 
@@ -1698,7 +1698,7 @@
 
         sin = (struct sockaddr_in *) addr[i].opt.sockaddr;
         addrs[i].addr = sin->sin_addr.s_addr;
-        addrs[i].conf.core_srv_conf = addr[i].core_srv_conf;
+        addrs[i].conf.default_server = addr[i].default_server;
 #if (NGX_HTTP_SSL)
         addrs[i].conf.ssl = addr[i].opt.ssl;
 #endif
@@ -1759,7 +1759,7 @@
 
         sin6 = (struct sockaddr_in6 *) addr[i].opt.sockaddr;
         addrs6[i].addr6 = sin6->sin6_addr;
-        addrs6[i].conf.core_srv_conf = addr[i].core_srv_conf;
+        addrs6[i].conf.default_server = addr[i].default_server;
 #if (NGX_HTTP_SSL)
         addrs6[i].conf.ssl = addr[i].opt.ssl;
 #endif
