NGX_HTTP_PRECONDITION_FAILED
diff --git a/src/http/ngx_http_header_filter_module.c b/src/http/ngx_http_header_filter_module.c
index 78682c5..fedb33c 100644
--- a/src/http/ngx_http_header_filter_module.c
+++ b/src/http/ngx_http_header_filter_module.c
@@ -87,7 +87,7 @@
     ngx_string("409 Conflict"),
     ngx_string("410 Gone"),
     ngx_string("411 Length Required"),
-    ngx_null_string,  /* "412 Precondition Failed" */
+    ngx_string("412 Precondition Failed"),
     ngx_string("413 Request Entity Too Large"),
     ngx_null_string,  /* "414 Request-URI Too Large", but we never send it
                        * because we treat such requests as the HTTP/0.9
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 5cdcb94..22e17ee 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -77,6 +77,7 @@
 #define NGX_HTTP_REQUEST_TIME_OUT          408
 #define NGX_HTTP_CONFLICT                  409
 #define NGX_HTTP_LENGTH_REQUIRED           411
+#define NGX_HTTP_PRECONDITION_FAILED       412
 #define NGX_HTTP_REQUEST_ENTITY_TOO_LARGE  413
 #define NGX_HTTP_REQUEST_URI_TOO_LARGE     414
 #define NGX_HTTP_UNSUPPORTED_MEDIA_TYPE    415
diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c
index c8190ed..bb72079 100644
--- a/src/http/ngx_http_special_response.c
+++ b/src/http/ngx_http_special_response.c
@@ -139,6 +139,14 @@
 ;
 
 
+static char error_412_page[] =
+"<html>" CRLF
+"<head><title>412 Precondition Failed</title></head>" CRLF
+"<body bgcolor=\"white\">" CRLF
+"<center><h1>412 Precondition Failed</h1></center>" CRLF
+;
+
+
 static char error_413_page[] =
 "<html>" CRLF
 "<head><title>413 Request Entity Too Large</title></head>" CRLF
@@ -274,7 +282,7 @@
     ngx_string(error_409_page),
     ngx_string(error_410_page),
     ngx_string(error_411_page),
-    ngx_null_string,             /* 412 */
+    ngx_string(error_412_page),
     ngx_string(error_413_page),
     ngx_string(error_414_page),
     ngx_string(error_415_page),