diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c
index 027dc3c..8aa3397 100644
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -1202,6 +1202,11 @@
             if (u->port_text.len > 0) {
                 u->port = ngx_atoi(u->port_text.data, u->port_text.len);
                 if (u->port > 0) {
+
+                    if (u->port == 80) {
+                        u->default_port = 1;
+                    }
+
                     u->port = htons((u_short) u->port);
                     return NULL;
                 }
diff --git a/src/http/ngx_http_write_filter.c b/src/http/ngx_http_write_filter.c
index 8c1a98a..0567537 100644
--- a/src/http/ngx_http_write_filter.c
+++ b/src/http/ngx_http_write_filter.c
@@ -70,7 +70,7 @@
 {
     int                            last;
     off_t                          size, flush;
-    ngx_chain_t                   *cl, **ll, *chain;
+    ngx_chain_t                   *cl, *ln, **ll, *chain;
     ngx_http_write_filter_ctx_t   *ctx;
     ngx_http_write_filter_conf_t  *conf;
 
@@ -105,8 +105,8 @@
 
     /* add the new chain to the existent one */
 
-    for (/* void */; in; in = in->next) {
-        ngx_alloc_link_and_set_hunk(cl, in->hunk, r->pool, NGX_ERROR);
+    for (ln = in; ln; ln = ln->next) {
+        ngx_alloc_link_and_set_hunk(cl, ln->hunk, r->pool, NGX_ERROR);
         *ll = cl;
         ll = &cl->next;
 
@@ -129,11 +129,12 @@
                                         ngx_http_write_filter_module);
 
     /*
-     * avoid the output if there is no last hunk, no flush point and
-     * the size of the hunks is smaller than "postpone_output" directive
+     * avoid the output if there is no last hunk, no flush point,
+     * there are the incoming hunks and the size of all hunks
+     * is smaller than "postpone_output" directive
      */
 
-    if (!last && flush == 0 && size < (off_t) conf->postpone_output) {
+    if (!last && flush == 0 && in && size < (off_t) conf->postpone_output) {
         return NGX_OK;
     }
 
@@ -142,6 +143,8 @@
     }
 
     if (size == 0) {
+        ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
+                      "the http output chain is empty");
         return NGX_OK;
     }
 
