diff --git a/channels.c b/channels.c
index 73bc10a..2436e08 100644
--- a/channels.c
+++ b/channels.c
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.161 2002/01/21 23:27:10 markus Exp $");
+RCSID("$OpenBSD: channels.c,v 1.162 2002/01/24 21:09:25 stevesk Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -986,7 +986,7 @@
 {
 	Channel *nc;
 	struct sockaddr addr;
-	int newsock, on = 1;
+	int newsock;
 	socklen_t addrlen;
 	char buf[16384], *remote_ipaddr;
 	int remote_port;
@@ -1004,10 +1004,7 @@
 			error("accept: %.100s", strerror(errno));
 			return;
 		}
-		if (setsockopt(newsock, IPPROTO_TCP, TCP_NODELAY, &on,
-		    sizeof on) == -1)
-			error("setsockopt TCP_NODELAY: %.100s",
-			    strerror(errno));
+		set_nodelay(newsock);
 		remote_ipaddr = get_peer_ipaddr(newsock);
 		remote_port = get_peer_port(newsock);
 		snprintf(buf, sizeof buf, "X11 connection from %.200s port %d",
@@ -2495,7 +2492,7 @@
 int
 x11_connect_display(void)
 {
-	int display_number, sock = 0, on = 1;
+	int display_number, sock = 0;
 	const char *display;
 	char buf[1024], *cp;
 	struct addrinfo hints, *ai, *aitop;
@@ -2583,8 +2580,7 @@
 		    strerror(errno));
 		return -1;
 	}
-	if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, &on, sizeof on) == -1)
-		error("setsockopt TCP_NODELAY: %.100s", strerror(errno));
+	set_nodelay(sock);
 	return sock;
 }
 
