diff --git a/dav.t b/dav.t
index f01624a..7da52aa 100644
--- a/dav.t
+++ b/dav.t
@@ -21,7 +21,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http dav/)->plan(27);
+my $t = Test::Nginx->new()->has(qw/http dav/)->plan(28);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -108,6 +108,21 @@
 is(-s $t->testdir() . '/file', 10,
 	'put file extra data size');
 
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.21.0');
+
+$r = http(<<EOF . '0123456789');
+PUT /file%20sp HTTP/1.1
+Host: localhost
+Connection: close
+Content-Length: 10
+
+EOF
+
+like($r, qr!Location: /file%20sp\x0d?$!ms, 'put file escaped');
+
+}
+
 # 201 replies contain body, response should indicate it's empty
 
 $r = http(<<EOF);
diff --git a/http_absolute_redirect.t b/http_absolute_redirect.t
index 93ac138..1e114c5 100644
--- a/http_absolute_redirect.t
+++ b/http_absolute_redirect.t
@@ -3,7 +3,7 @@
 # (C) Sergey Kandaurov
 # (C) Nginx, Inc.
 
-# Tests for absolute_redirect directive.
+# Tests for absolute_redirect directive and Location escaping.
 
 ###############################################################################
 
@@ -49,6 +49,10 @@
             proxy_pass http://127.0.0.1:8080;
         }
 
+        location "/auto sp/" {
+            proxy_pass http://127.0.0.1:8080;
+        }
+
         location /return301 {
             return 301 /redirect;
         }
@@ -68,6 +72,10 @@
             proxy_pass http://127.0.0.1:8080;
         }
 
+        location "/auto sp/" {
+            proxy_pass http://127.0.0.1:8080;
+        }
+
         location /return301 {
             return 301 /redirect;
         }
@@ -81,8 +89,9 @@
 EOF
 
 mkdir($t->testdir() . '/dir');
+mkdir($t->testdir() . '/dir sp');
 
-$t->run()->plan(10);
+$t->run()->plan(18);
 
 ###############################################################################
 
@@ -91,17 +100,63 @@
 like(get('on', '/dir'), qr!Location: http://on:$p/dir/\x0d?$!m, 'directory');
 like(get('on', '/i/dir'), qr!Location: http://on:$p/i/dir/\x0d?$!m,
 	'directory alias');
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.21.0');
+
+like(get('on', '/dir%20sp'), qr!Location: http://on:$p/dir%20sp/\x0d?$!m,
+	'directory escaped');
+like(get('on', '/dir%20sp?a=b'),
+	qr!Location: http://on:$p/dir%20sp/\?a=b\x0d?$!m,
+	'directory escaped args');
+
+}
+
 like(get('on', '/auto'), qr!Location: http://on:$p/auto/\x0d?$!m, 'auto');
 like(get('on', '/auto?a=b'), qr!Location: http://on:$p/auto/\?a=b\x0d?$!m,
 	'auto args');
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.21.0');
+
+like(get('on', '/auto%20sp'), qr!Location: http://on:$p/auto%20sp/\x0d?$!m,
+	'auto escaped');
+like(get('on', '/auto%20sp?a=b'),
+	qr!Location: http://on:$p/auto%20sp/\?a=b\x0d?$!m,
+	'auto escaped args');
+
+}
+
 like(get('on', '/return301'), qr!Location: http://on:$p/redirect\x0d?$!m,
 	'return');
 
 like(get('off', '/dir'), qr!Location: /dir/\x0d?$!m, 'off directory');
 like(get('off', '/i/dir'), qr!Location: /i/dir/\x0d?$!m, 'off directory alias');
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.21.0');
+
+like(get('off', '/dir%20sp'), qr!Location: /dir%20sp/\x0d?$!m,
+	'off directory escaped');
+like(get('off', '/dir%20sp?a=b'), qr!Location: /dir%20sp/\?a=b\x0d?$!m,
+	'off directory escaped args');
+
+}
+
 like(get('off', '/auto'), qr!Location: /auto/\x0d?$!m, 'off auto');
 like(get('off', '/auto?a=b'), qr!Location: /auto/\?a=b\x0d?$!m,
 	'off auto args');
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.21.0');
+
+like(get('off', '/auto%20sp'), qr!Location: /auto%20sp/\x0d?$!m,
+	'auto escaped');
+like(get('off', '/auto%20sp?a=b'), qr!Location: /auto%20sp/\?a=b\x0d?$!m,
+	'auto escaped args');
+
+}
+
 like(get('off', '/return301'), qr!Location: /redirect\x0d?$!m, 'off return');
 
 ###############################################################################
