nginx-0.0.1-2003-12-15-16:57:13 import
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 6d20fdf..6d5bc0d 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -346,17 +346,17 @@
                 continue;
             }
 
-            if (rc == NGX_AGAIN) {
-                return;
-            }
-
             if (rc >= NGX_HTTP_SPECIAL_RESPONSE || rc == NGX_ERROR) {
                 ngx_http_finalize_request(r, rc);
                 return;
             }
 
-            if (rc == NGX_OK && r->phase == NGX_HTTP_CONTENT_PHASE) {
-                ngx_http_finalize_request(r, 0);
+            if (r->phase == NGX_HTTP_CONTENT_PHASE) {
+                ngx_http_finalize_request(r, rc);
+                return;
+            }
+
+            if (rc == NGX_AGAIN) {
                 return;
             }