diff --git a/slirp/misc.c b/slirp/misc.c
index 260187b..c6ad76d 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -189,7 +189,10 @@
                     so->s = accept(s, (struct sockaddr *)&addr, &addrlen);
                 } while (so->s < 0 && errno == EINTR);
                 closesocket(s);
-                socket_set_fast_reuse(so->s);
+                /*
+                 * Do not call socket_set_fast_reuse() on a connected socket.
+                 * Some kernels disallow it.
+                 */
                 opt = 1;
                 qemu_setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int));
 		qemu_set_nonblock(so->s);
diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c
index da0d537..ba694c6 100644
--- a/slirp/tcp_subr.c
+++ b/slirp/tcp_subr.c
@@ -488,7 +488,10 @@
         return;
     }
     qemu_set_nonblock(s);
-    socket_set_fast_reuse(s);
+    /*
+     * Do not call socket_set_fast_reuse() on a connected socket.
+     * Some kernels disallow it.
+     */
     opt = 1;
     qemu_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int));
     socket_set_nodelay(s);
diff --git a/slirp/udp.c b/slirp/udp.c
index 227d779..f638845 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -346,11 +346,16 @@
 	addr.sin_addr.s_addr = haddr;
 	addr.sin_port = hport;
 
+	/*
+	 * SO_REUSEADDR has to be set before binding the socket.
+	 * Some kernels disallow doing this on a connected/bound socket.
+	 */
+	socket_set_fast_reuse(so->s);
+
 	if (bind(so->s,(struct sockaddr *)&addr, addrlen) < 0) {
 		udp_detach(so);
 		return NULL;
 	}
-	socket_set_fast_reuse(so->s);
 
 	getsockname(so->s,(struct sockaddr *)&addr,&addrlen);
 	so->fhost.sin = addr;
