diff --git a/src/http/modules/ngx_http_sub_filter_module.c b/src/http/modules/ngx_http_sub_filter_module.c
index 8ba75ed..7bf6e19 100644
--- a/src/http/modules/ngx_http_sub_filter_module.c
+++ b/src/http/modules/ngx_http_sub_filter_module.c
@@ -229,7 +229,7 @@
             return ngx_http_next_header_filter(r);
         }
 
-        ctx->matches = ngx_pnalloc(r->pool, sizeof(ngx_array_t));
+        ctx->matches = ngx_palloc(r->pool, sizeof(ngx_array_t));
         if (ctx->matches == NULL) {
             return NGX_ERROR;
         }
@@ -237,7 +237,7 @@
         ctx->matches->elts = matches;
         ctx->matches->nelts = j;
 
-        ctx->tables = ngx_pnalloc(r->pool, sizeof(ngx_http_sub_tables_t));
+        ctx->tables = ngx_palloc(r->pool, sizeof(ngx_http_sub_tables_t));
         if (ctx->tables == NULL) {
             return NGX_ERROR;
         }
@@ -859,7 +859,7 @@
         pairs = conf->pairs->elts;
         n = conf->pairs->nelts;
 
-        matches = ngx_pnalloc(cf->pool, sizeof(ngx_http_sub_match_t) * n);
+        matches = ngx_palloc(cf->pool, sizeof(ngx_http_sub_match_t) * n);
         if (matches == NULL) {
             return NGX_CONF_ERROR;
         }
@@ -869,7 +869,7 @@
             matches[i].value = &pairs[i].value;
         }
 
-        conf->matches = ngx_pnalloc(cf->pool, sizeof(ngx_array_t));
+        conf->matches = ngx_palloc(cf->pool, sizeof(ngx_array_t));
         if (conf->matches == NULL) {
             return NGX_CONF_ERROR;
         }
