diff --git a/src/core/ngx_buf.c b/src/core/ngx_buf.c
index 31d9903..2f2c437 100644
--- a/src/core/ngx_buf.c
+++ b/src/core/ngx_buf.c
@@ -201,12 +201,6 @@
             break;
         }
 
-#if (NGX_HAVE_WRITE_ZEROCOPY)
-        if ((*busy)->buf->zerocopy_busy) {
-            break;
-        }
-#endif
-
         if ((*busy)->buf->tag != tag) {
             *busy = (*busy)->next;
             continue;
diff --git a/src/core/ngx_buf.h b/src/core/ngx_buf.h
index ce26c63..8649bdb 100644
--- a/src/core/ngx_buf.h
+++ b/src/core/ngx_buf.h
@@ -51,8 +51,6 @@
     unsigned         last_shadow:1;
     unsigned         temp_file:1;
 
-    unsigned         zerocopy_busy:1;
-
     /* STUB */ int   num;
 };
 
diff --git a/src/core/ngx_palloc.h b/src/core/ngx_palloc.h
index 434f972..c31db93 100644
--- a/src/core/ngx_palloc.h
+++ b/src/core/ngx_palloc.h
@@ -14,7 +14,6 @@
 
 /*
  * NGX_MAX_ALLOC_FROM_POOL should be (ngx_pagesize - 1), i.e. 4095 on x86.
- * On FreeBSD 5.x it allows to use the zero copy sending.
  * On Windows NT it decreases a number of locked pages in a kernel.
  */
 #define NGX_MAX_ALLOC_FROM_POOL  (ngx_pagesize - 1)
diff --git a/src/http/modules/ngx_http_charset_filter_module.c b/src/http/modules/ngx_http_charset_filter_module.c
index 16b6168..114542a 100644
--- a/src/http/modules/ngx_http_charset_filter_module.c
+++ b/src/http/modules/ngx_http_charset_filter_module.c
@@ -541,12 +541,6 @@
                 break;
             }
 
-#if (NGX_HAVE_WRITE_ZEROCOPY)
-            if (b->zerocopy_busy) {
-                break;
-            }
-#endif
-
             ctx->busy = cl->next;
 
             if (b->tag != (ngx_buf_tag_t) &ngx_http_charset_filter_module) {
diff --git a/src/http/modules/ngx_http_ssi_filter_module.c b/src/http/modules/ngx_http_ssi_filter_module.c
index 61c9592..74a2c85 100644
--- a/src/http/modules/ngx_http_ssi_filter_module.c
+++ b/src/http/modules/ngx_http_ssi_filter_module.c
@@ -935,12 +935,6 @@
             break;
         }
 
-#if (NGX_HAVE_WRITE_ZEROCOPY)
-        if (b->zerocopy_busy) {
-            break;
-        }
-#endif
-
         if (b->shadow) {
             b->shadow->pos = b->shadow->last;
         }
diff --git a/src/http/modules/ngx_http_sub_filter_module.c b/src/http/modules/ngx_http_sub_filter_module.c
index f40a3c6..1cec8b6 100644
--- a/src/http/modules/ngx_http_sub_filter_module.c
+++ b/src/http/modules/ngx_http_sub_filter_module.c
@@ -465,12 +465,6 @@
             break;
         }
 
-#if (NGX_HAVE_WRITE_ZEROCOPY)
-        if (b->zerocopy_busy) {
-            break;
-        }
-#endif
-
         if (b->shadow) {
             b->shadow->pos = b->shadow->last;
         }
diff --git a/src/os/unix/ngx_freebsd.h b/src/os/unix/ngx_freebsd.h
index c3be2bc..67fce3e 100644
--- a/src/os/unix/ngx_freebsd.h
+++ b/src/os/unix/ngx_freebsd.h
@@ -14,7 +14,6 @@
 extern int         ngx_freebsd_kern_osreldate;
 extern int         ngx_freebsd_hw_ncpu;
 extern u_long      ngx_freebsd_net_inet_tcp_sendspace;
-extern int         ngx_freebsd_kern_ipc_zero_copy_send;
 
 extern ngx_uint_t  ngx_freebsd_sendfile_nbytes_bug;
 extern ngx_uint_t  ngx_freebsd_use_tcp_nopush;
diff --git a/src/os/unix/ngx_freebsd_init.c b/src/os/unix/ngx_freebsd_init.c
index a2b4c57..1211c7c 100644
--- a/src/os/unix/ngx_freebsd_init.c
+++ b/src/os/unix/ngx_freebsd_init.c
@@ -19,9 +19,6 @@
 /* FreeBSD 4.9 */
 int     ngx_freebsd_machdep_hlt_logical_cpus;
 
-/* FreeBSD 5.0 */
-int     ngx_freebsd_kern_ipc_zero_copy_send;
-
 
 ngx_uint_t  ngx_freebsd_sendfile_nbytes_bug;
 ngx_uint_t  ngx_freebsd_use_tcp_nopush;
@@ -68,10 +65,6 @@
       &ngx_freebsd_kern_ipc_somaxconn,
       sizeof(ngx_freebsd_kern_ipc_somaxconn), 0 },
 
-    { "kern.ipc.zero_copy.send",
-      &ngx_freebsd_kern_ipc_zero_copy_send,
-      sizeof(ngx_freebsd_kern_ipc_zero_copy_send), 0 },
-
     { NULL, NULL, 0, 0 }
 };
 
diff --git a/src/os/unix/ngx_os.h b/src/os/unix/ngx_os.h
index 44ed6d0..0dbdd0b 100644
--- a/src/os/unix/ngx_os.h
+++ b/src/os/unix/ngx_os.h
@@ -13,7 +13,6 @@
 
 
 #define NGX_IO_SENDFILE    1
-#define NGX_IO_ZEROCOPY    2
 
 
 typedef ssize_t (*ngx_recv_pt)(ngx_connection_t *c, u_char *buf, size_t size);
diff --git a/src/os/win32/ngx_os.h b/src/os/win32/ngx_os.h
index c9a911a..93ec3ff 100644
--- a/src/os/win32/ngx_os.h
+++ b/src/os/win32/ngx_os.h
@@ -13,7 +13,6 @@
 #include <ngx_gui.h>
 
 #define NGX_IO_SENDFILE    1
-#define NGX_IO_ZEROCOPY    2
 
 
 typedef ssize_t (*ngx_recv_pt)(ngx_connection_t *c, u_char *buf, size_t size);
