diff --git a/src/core/ngx_conf_file.c b/src/core/ngx_conf_file.c
index 6cfb5d5..f61bfca 100644
--- a/src/core/ngx_conf_file.c
+++ b/src/core/ngx_conf_file.c
@@ -800,10 +800,11 @@
 ngx_int_t
 ngx_conf_full_name(ngx_cycle_t *cycle, ngx_str_t *name, ngx_uint_t conf_prefix)
 {
-    return ngx_get_full_name(cycle->pool,
-                             conf_prefix ? &cycle->conf_prefix:
-                                           &cycle->prefix,
-                             name);
+    ngx_str_t  *prefix;
+
+    prefix = conf_prefix ? &cycle->conf_prefix : &cycle->prefix;
+
+    return ngx_get_full_name(cycle->pool, prefix, name);
 }
 
 
diff --git a/src/http/ngx_http_script.c b/src/http/ngx_http_script.c
index 1da793b..5fc4cfc 100644
--- a/src/http/ngx_http_script.c
+++ b/src/http/ngx_http_script.c
@@ -1327,20 +1327,17 @@
 {
     ngx_http_script_full_name_code_t  *code;
 
-    ngx_str_t  value;
+    ngx_str_t  value, *prefix;
 
     code = (ngx_http_script_full_name_code_t *) e->ip;
 
     value.data = e->buf.data;
     value.len = e->pos - e->buf.data;
 
-    if (ngx_get_full_name(e->request->pool,
-                          code->conf_prefix
-                                       ? (ngx_str_t *) &ngx_cycle->conf_prefix:
-                                         (ngx_str_t *) &ngx_cycle->prefix,
-                          &value)
-        != NGX_OK)
-    {
+    prefix = code->conf_prefix ? (ngx_str_t *) &ngx_cycle->conf_prefix:
+                                 (ngx_str_t *) &ngx_cycle->prefix;
+
+    if (ngx_get_full_name(e->request->pool, prefix, &value) != NGX_OK) {
         e->ip = ngx_http_script_exit;
         e->status = NGX_HTTP_INTERNAL_SERVER_ERROR;
         return;
