diff --git a/src/event/BufferedSocket.hxx b/src/event/BufferedSocket.hxx
index 566f2fc01..d8851278b 100644
--- a/src/event/BufferedSocket.hxx
+++ b/src/event/BufferedSocket.hxx
@@ -26,6 +26,7 @@
 #include <cassert>
 #include <cstdint>
 #include <exception>
+#include <type_traits>
 
 class EventLoop;
 
@@ -39,7 +40,7 @@ protected:
 	SocketEvent event;
 
 public:
-	using ssize_t = SocketEvent::ssize_t;
+	using ssize_t = std::make_signed<size_t>::type;
 
 	BufferedSocket(SocketDescriptor _fd, EventLoop &_loop) noexcept
 		:event(_loop, BIND_THIS_METHOD(OnSocketReady), _fd) {
diff --git a/src/event/SocketEvent.hxx b/src/event/SocketEvent.hxx
index 69fc7252f..749eee808 100644
--- a/src/event/SocketEvent.hxx
+++ b/src/event/SocketEvent.hxx
@@ -25,9 +25,6 @@
 #include "util/BindMethod.hxx"
 #include "util/IntrusiveList.hxx"
 
-#include <cstddef>
-#include <type_traits>
-
 class EventLoop;
 
 /**
@@ -75,8 +72,6 @@ public:
 	 */
 	static constexpr unsigned IMPLICIT_FLAGS = ERROR|HANGUP;
 
-	using ssize_t = std::make_signed<size_t>::type;
-
 	SocketEvent(EventLoop &_loop, Callback _callback,
 		    SocketDescriptor _fd=SocketDescriptor::Undefined()) noexcept
 		:loop(_loop),