diff --git a/sys/posix/sockets/posix_sockets.c b/sys/posix/sockets/posix_sockets.c
index e38d20286f232e800e27ae12eaaae422d03fb406..da8d2d07a130aab09a5d84b1c580dbd164743752 100644
--- a/sys/posix/sockets/posix_sockets.c
+++ b/sys/posix/sockets/posix_sockets.c
@@ -752,7 +752,7 @@ int listen(int socket, int backlog)
         bf_unset(_sock_pool_used, _get_sock_idx(sock));
         mutex_unlock(&_socket_pool_mutex);
     }
-    return -res;
+    return res;
 #else
     (void)socket;
     (void)backlog;