diff --git a/src/ruby/spec/generic/rpc_server_spec.rb b/src/ruby/spec/generic/rpc_server_spec.rb
index cd4888a3b4b65bdee78c566354f79598e67152c9..e083bc1e9dd87d776906c1f90dd591ecc8b634df 100644
--- a/src/ruby/spec/generic/rpc_server_spec.rb
+++ b/src/ruby/spec/generic/rpc_server_spec.rb
@@ -29,7 +29,6 @@
 
 require 'grpc'
 require 'xray/thread_dump_signal_handler'
-require_relative '../port_picker'
 
 def load_test_certs
   test_root = File.join(File.dirname(File.dirname(__FILE__)), 'testdata')
@@ -104,10 +103,10 @@ describe GRPC::RpcServer do
     @noop = proc { |x| x }
 
     @server_queue = GRPC::Core::CompletionQueue.new
-    port = find_unused_tcp_port
-    @host = "localhost:#{port}"
+    server_host = '0.0.0.0:0'
     @server = GRPC::Core::Server.new(@server_queue, nil)
-    @server.add_http2_port(@host)
+    server_port = @server.add_http2_port(server_host)
+    @host = "localhost:#{server_port}"
     @ch = GRPC::Core::Channel.new(@host, nil)
   end