diff --git a/src/client/Listener.cxx b/src/client/Listener.cxx
index af15a0d07..45af7161b 100644
--- a/src/client/Listener.cxx
+++ b/src/client/Listener.cxx
@@ -4,6 +4,7 @@
 #include "Listener.hxx"
 #include "Client.hxx"
 #include "Permission.hxx"
+#include "net/PeerCredentials.hxx"
 #include "net/UniqueSocketDescriptor.hxx"
 #include "net/SocketAddress.hxx"
 #include "config.h"
@@ -29,8 +30,10 @@ GetPermissions(SocketAddress address, int uid) noexcept
 
 void
 ClientListener::OnAccept(UniqueSocketDescriptor fd,
-			 SocketAddress address, int uid) noexcept
+			 SocketAddress address) noexcept
 {
+	const auto cred = fd.GetPeerCredentials();
+	const int uid = cred.IsDefined() ? static_cast<int>(cred.GetUid()) : -1;
 
 	client_new(GetEventLoop(), partition,
 		   std::move(fd), address, uid,
diff --git a/src/client/Listener.hxx b/src/client/Listener.hxx
index c1e3a1564..bd3566cc1 100644
--- a/src/client/Listener.hxx
+++ b/src/client/Listener.hxx
@@ -17,7 +17,7 @@ public:
 
 private:
 	void OnAccept(UniqueSocketDescriptor fd,
-		      SocketAddress address, int uid) noexcept override;
+		      SocketAddress address) noexcept override;
 };
 
 #endif
diff --git a/src/event/ServerSocket.cxx b/src/event/ServerSocket.cxx
index 5e221d3de..0578b14a8 100644
--- a/src/event/ServerSocket.cxx
+++ b/src/event/ServerSocket.cxx
@@ -9,7 +9,6 @@
 #include "net/IPv6Address.hxx"
 #include "net/StaticSocketAddress.hxx"
 #include "net/AllocatedSocketAddress.hxx"
-#include "net/PeerCredentials.hxx"
 #include "net/SocketUtil.hxx"
 #include "net/SocketError.hxx"
 #include "net/UniqueSocketDescriptor.hxx"
@@ -102,16 +101,6 @@ private:
 
 static constexpr Domain server_socket_domain("server_socket");
 
-static int
-get_remote_uid(SocketDescriptor s) noexcept
-{
-	const auto cred = s.GetPeerCredentials();
-	if (!cred.IsDefined())
-		return -1;
-
-	return cred.GetUid();
-}
-
 inline void
 ServerSocket::OneServerSocket::Accept() noexcept
 {
@@ -131,9 +120,7 @@ ServerSocket::OneServerSocket::Accept() noexcept
 			 (const char *)msg);
 	}
 
-	const auto uid = get_remote_uid(peer_fd);
-
-	parent.OnAccept(std::move(peer_fd), peer_address, uid);
+	parent.OnAccept(std::move(peer_fd), peer_address);
 }
 
 void
diff --git a/src/event/ServerSocket.hxx b/src/event/ServerSocket.hxx
index 69dc47643..ba2442635 100644
--- a/src/event/ServerSocket.hxx
+++ b/src/event/ServerSocket.hxx
@@ -134,7 +134,7 @@ public:
 
 protected:
 	virtual void OnAccept(UniqueSocketDescriptor fd,
-			      SocketAddress address, int uid) noexcept = 0;
+			      SocketAddress address) noexcept = 0;
 };
 
 #endif
diff --git a/src/output/plugins/httpd/HttpdInternal.hxx b/src/output/plugins/httpd/HttpdInternal.hxx
index 4b41f87e0..e7ea1543f 100644
--- a/src/output/plugins/httpd/HttpdInternal.hxx
+++ b/src/output/plugins/httpd/HttpdInternal.hxx
@@ -251,7 +251,7 @@ private:
 	void OnDeferredBroadcast() noexcept;
 
 	void OnAccept(UniqueSocketDescriptor fd,
-		      SocketAddress address, int uid) noexcept override;
+		      SocketAddress address) noexcept override;
 };
 
 extern const class Domain httpd_output_domain;
diff --git a/src/output/plugins/httpd/HttpdOutputPlugin.cxx b/src/output/plugins/httpd/HttpdOutputPlugin.cxx
index 4409987ab..e084b4d77 100644
--- a/src/output/plugins/httpd/HttpdOutputPlugin.cxx
+++ b/src/output/plugins/httpd/HttpdOutputPlugin.cxx
@@ -113,7 +113,7 @@ HttpdOutput::OnDeferredBroadcast() noexcept
 
 void
 HttpdOutput::OnAccept(UniqueSocketDescriptor fd,
-		      SocketAddress, [[maybe_unused]] int uid) noexcept
+		      SocketAddress) noexcept
 {
 	/* the listener socket has become readable - a client has
 	   connected */
diff --git a/src/output/plugins/snapcast/Internal.hxx b/src/output/plugins/snapcast/Internal.hxx
index 75c6ed156..d51d21264 100644
--- a/src/output/plugins/snapcast/Internal.hxx
+++ b/src/output/plugins/snapcast/Internal.hxx
@@ -184,7 +184,7 @@ private:
 
 	/* virtual methods from class ServerSocket */
 	void OnAccept(UniqueSocketDescriptor fd,
-		      SocketAddress address, int uid) noexcept override;
+		      SocketAddress address) noexcept override;
 };
 
 #endif
diff --git a/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx b/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
index ff0a549fa..add259b0b 100644
--- a/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
+++ b/src/output/plugins/snapcast/SnapcastOutputPlugin.cxx
@@ -95,7 +95,7 @@ SnapcastOutput::AddClient(UniqueSocketDescriptor fd) noexcept
 
 void
 SnapcastOutput::OnAccept(UniqueSocketDescriptor fd,
-			 SocketAddress, int) noexcept
+			 SocketAddress) noexcept
 {
 	/* the listener socket has become readable - a client has
 	   connected */