diff --git a/src/syncterm/rlogin.c b/src/syncterm/rlogin.c
index 84c21f8d6bbb62aff75d8dce371a042265ec8d9c..595c05e125a3598e026c84565137b13f8a25ba60 100644
--- a/src/syncterm/rlogin.c
+++ b/src/syncterm/rlogin.c
@@ -51,7 +51,11 @@ int rlogin_connect(char *addr, int port, char *ruser, char *passwd)
 	char	nil=0;
 	char	*p;
 	unsigned int	neta;
+#ifdef _WIN32
+	int	tv;
+#else
 	struct	timeval	tv;
+#endif
 
 	for(p=addr;*p;p++)
 		if(*p!='.' && !isdigit(*p))
@@ -92,8 +96,12 @@ int rlogin_connect(char *addr, int port, char *ruser, char *passwd)
 		return(-1);
 	}
 
+#ifdef _WIN32
+	tv=100000;
+#else
 	tv.tv_sec=0;
 	tv.tv_usec=100000;
+#endif
 
 	setsockopt(rlogin_socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv));