diff --git a/apps/EchoServer.cpp b/apps/EchoServer.cpp
index b88560b6f699cab977b7ffbc78cbdf57b7d3008b..c64a59492e19f04e5ca8c77df012855b7eafc5cf 100644
--- a/apps/EchoServer.cpp
+++ b/apps/EchoServer.cpp
@@ -21,12 +21,13 @@
 #include <compare>
 #endif
 
-const std::string HOST = "::";
-const std::string PORT = "12345";
+static const std::string HOST = "::";
+static const std::string PORT = "12345";
+static const int BACKLOG = 1024;
 
-unsigned int computations_us = 0;
+static unsigned int computations_us = 0;
 
-std::atomic<bool> quit = false;
+static std::atomic<bool> quit = false;
 
 auto main(int argc, char* argv[]) -> int {
 	std::string host = HOST;
@@ -48,7 +49,7 @@ auto main(int argc, char* argv[]) -> int {
 	std::cout << "Echoserver listening on " << host << ":" << port << std::endl;
 
 	Runtime runtime;
-	auto* listener = emper::io::tcp_listener(host, port, [](int socket) {
+	auto serverFunc = [](int socket) {
 		// NOLINTNEXTLINE(modernize-avoid-c-arrays)
 		char buf[1024];
 		while (!quit.load(std::memory_order_consume)) {
@@ -83,7 +84,10 @@ auto main(int argc, char* argv[]) -> int {
 		}
 
 		emper::io::closeAndForget(socket);
-	});
+	};
+
+	auto* listener =
+			emper::io::tcp_listener(host, port, serverFunc, BACKLOG, {emper::io::SockOpt::ReusePort});
 
 	if (!listener) {
 		exit(EXIT_FAILURE);