diff --git a/proxy_merge_headers.t b/proxy_merge_headers.t
index 434e9d1..7141667 100644
--- a/proxy_merge_headers.t
+++ b/proxy_merge_headers.t
@@ -10,6 +10,7 @@
 use strict;
 
 use Test::More;
+use Socket qw/ CRLF /;
 
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
@@ -21,7 +22,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http proxy cache rewrite/)->plan(7)
+my $t = Test::Nginx->new()->has(qw/http proxy cache rewrite/)->plan(11)
 	->write_file_expand('nginx.conf', <<'EOF');
 
 %%TEST_GLOBALS%%
@@ -64,6 +65,16 @@
             proxy_pass    http://127.0.0.1:8081;
             proxy_set_body "body";
         }
+
+        location /passdate/ {
+            proxy_pass    http://127.0.0.1:8082;
+            proxy_pass_header Date;
+            proxy_pass_header Server;
+
+            location /passdate/no/ {
+                proxy_pass   http://127.0.0.1:8082;
+            }
+        }
     }
 
     server {
@@ -80,8 +91,11 @@
 
 EOF
 
+$t->run_daemon(\&http_daemon);
 $t->run();
 
+$t->waitforsocket('127.0.0.1:' . port(8082));
+
 ###############################################################################
 
 like(http_get_ims('/'), qr/ims=;blah=blah;/,
@@ -98,6 +112,11 @@
 unlike(http_get('/'), qr/X-Hidden/, 'proxy_hide_header inherited');
 unlike(http_get('/nested/'), qr/X-Hidden/, 'proxy_hide_header nested');
 
+like(http_get('/passdate/'), qr/Date: passed/, 'proxy_pass_header date');
+like(http_get('/passdate/'), qr/Server: passed/, 'proxy_pass_header server');
+unlike(http_get('/passdate/no/'), qr/Date/, 'proxy_pass_header no date');
+unlike(http_get('/passdate/no/'), qr/Server/, 'proxy_pass_header no server');
+
 ###############################################################################
 
 sub http_get_ims {
@@ -112,3 +131,45 @@
 }
 
 ###############################################################################
+
+sub http_daemon {
+	my $server = IO::Socket::INET->new(
+		Proto => 'tcp',
+		LocalHost => '127.0.0.1',
+		LocalPort => port(8082),
+		Listen => 5,
+		Reuse => 1
+	)
+		or die "Can't create listening socket: $!\n";
+
+	local $SIG{PIPE} = 'IGNORE';
+
+	while (my $client = $server->accept()) {
+		$client->autoflush(1);
+
+		my $headers = '';
+		my $uri = '';
+
+		while (<$client>) {
+			$headers .= $_;
+			last if (/^\x0d?\x0a?$/);
+		}
+
+		$uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i;
+
+		if ($uri =~ 'no') {
+			print $client
+				'HTTP/1.0 200 OK' . CRLF . CRLF;
+
+		} else {
+			print $client
+				'HTTP/1.0 200 OK' . CRLF .
+				'Date: passed' . CRLF .
+				'Server: passed' . CRLF . CRLF;
+		}
+
+		close $client;
+	}
+}
+
+###############################################################################
