diff --git a/stream_upstream_hash.t b/stream_upstream_hash.t
index 885c50f..e28925e 100644
--- a/stream_upstream_hash.t
+++ b/stream_upstream_hash.t
@@ -25,7 +25,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/stream stream_upstream_hash/)->plan(2);
+my $t = Test::Nginx->new()->has(qw/stream stream_upstream_hash/)->plan(4);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -49,6 +49,18 @@
         server 127.0.0.1:8083;
     }
 
+    upstream empty {
+        hash $proxy_protocol_addr;
+        server 127.0.0.1:8082;
+        server 127.0.0.1:8083;
+    }
+
+    upstream cempty {
+        hash $proxy_protocol_addr consistent;
+        server 127.0.0.1:8082;
+        server 127.0.0.1:8083;
+    }
+
     server {
         listen      127.0.0.1:8080;
         proxy_pass  hash;
@@ -58,6 +70,16 @@
         listen      127.0.0.1:8081;
         proxy_pass  cons;
     }
+
+    server {
+        listen      127.0.0.1:8084;
+        proxy_pass  empty;
+    }
+
+    server {
+        listen      127.0.0.1:8085;
+        proxy_pass  cempty;
+    }
 }
 
 EOF
@@ -76,6 +98,16 @@
 is(many(10, port(8080)), "$port3: 10", 'hash');
 like(many(10, port(8081)), qr/($port2|$port3): 10/, 'hash consistent');
 
+# fallback to round-robin
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.17.1');
+
+like(many(4, port(8084)), qr/$port2: 2, $port3: 2/, 'empty key');
+like(many(4, port(8085)), qr/$port2: 2, $port3: 2/, 'empty key - consistent');
+
+}
+
 ###############################################################################
 
 sub many {
diff --git a/upstream_hash.t b/upstream_hash.t
index b6a672e..8edbe95 100644
--- a/upstream_hash.t
+++ b/upstream_hash.t
@@ -22,7 +22,7 @@
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-my $t = Test::Nginx->new()->has(qw/http proxy rewrite upstream_hash/)->plan(13);
+my $t = Test::Nginx->new()->has(qw/http proxy rewrite upstream_hash/)->plan(15);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
 
@@ -166,7 +166,7 @@
 
 ###############################################################################
 
-my ($p1, $p2, $p3) = (port(8081), port(8082), port(8083));
+my @ports = my ($p1, $p2, $p3) = (port(8081), port(8082), port(8083));
 
 # Only requests for absent peer are moved to other peers if hash is consistent.
 # Check this by comparing two upstreams with different number of peers.
@@ -178,6 +178,16 @@
 like(many('/?a=1', 10), qr/($p1|$p2|$p3): 10/, 'stable hash');
 like(many('/c?a=1', 10), qr/($p1|$p2|$p3): 10/, 'stable hash - consistent');
 
+# fallback to round-robin
+
+TODO: {
+local $TODO = 'not yet' unless $t->has_version('1.17.1');
+
+like(many('/?a=', 6), qr/$p1: 2, $p2: 2, $p3: 2/, 'empty key');
+like(many('/c?a=', 6), qr/$p1: 2, $p2: 2, $p3: 2/, 'empty key - consistent');
+
+}
+
 my @res = iter('/', 10);
 
 is(@res, 10, 'all hashed peers');
@@ -244,7 +254,8 @@
 		}
 	}
 
-	return join ', ', map { $_ . ": " . $ports{$_} } sort keys %ports;
+	my @keys = map { my $p = $_; grep { $p == $_ } keys %ports } @ports;
+	return join ', ', map { $_ . ": " . $ports{$_} } @keys;
 }
 
 ###############################################################################
