diff -u socat-2.0.0-b4/xioopts.c socat-2.0.0-b4-new/xioopts.c 
--- socat-2.0.0-b4/xioopts.c	2010-06-20 06:04:54.000000000 -0400
+++ socat-2.0.0-b4-new/xioopts.c	2011-05-27 04:05:42.000000000 -0400
@@ -3995,10 +3995,10 @@
 		  opt->desc = ODESC_ERROR; continue;
 	       }
 #else
-	       if (Setsockopt(xfd->fd1, opt->desc->major, opt->desc->minor,
+	       if (Setsockopt(xfd->rfd, opt->desc->major, opt->desc->minor,
 			      &ip4_mreqn.mreq, sizeof(ip4_mreqn.mreq)) < 0) {
 		  Error7("setsockopt(%d, %d, %d, {0x%08x,0x%08x}, "F_Zu"): %s",
-			 xfd->fd1, opt->desc->major, opt->desc->minor,
+			 xfd->rfd, opt->desc->major, opt->desc->minor,
 			 ip4_mreqn.mreq.imr_multiaddr,
 			 ip4_mreqn.mreq.imr_interface,
 			 sizeof(ip4_mreqn.mreq),
