--- etc/autologin/autologin.c
+++ etc/autologin/autologin.c
@@ -41,7 +41,6 @@
 
 #if USE_TERMIOS
 #include <termios.h>
-#include <unistd.h>
 
 #else
 #if USE_TERMIO
@@ -443,11 +442,11 @@
 		/* NOTREACHED */
 	}
 #endif
-	n_tio.c_iflag &= ~(IGNCR|IUCLC);
+	n_tio.c_iflag &= ~(IGNCR);
 	n_tio.c_iflag |= ICRNL|IXON|IXANY;
-	n_tio.c_oflag &= ~(OLCUC|ONOCR|ONLRET|OFILL|NLDLY|CRDLY|TABDLY|BSDLY);
-	n_tio.c_oflag |= OPOST|ONLCR|TAB3;
-	n_tio.c_lflag &= ~(XCASE|NOFLSH|ECHOK|ECHONL);
+	n_tio.c_oflag &= ~(ONOCR|ONLRET);
+	n_tio.c_oflag |= OPOST|ONLCR|OXTABS;
+	n_tio.c_lflag &= ~(NOFLSH|ECHOK|ECHONL);
 	n_tio.c_lflag |= ISIG|ICANON|ECHO;
 	n_tio.c_cc[VEOF] = '\004';		/* ^D	*/
 	n_tio.c_cc[VEOL] = '\000';		/* EOL	*/
--- etc/autologin/machine.h
+++ etc/autologin/machine.h
@@ -38,7 +38,7 @@
 #define USE_TERMIO	(defined(ETA10)||defined(V386))
 #endif
 #if !defined(USE_TERMIOS)
-#define USE_TERMIOS	(defined(HPUX)||defined(SUN5)||defined(PTX)||defined(IRIX5)||defined(LINUX))
+#define USE_TERMIOS	(defined(HPUX)||defined(SUN5)||defined(PTX)||defined(IRIX5)||defined(LINUX)||defined(FREEBSD))
 #endif
 #if !defined(USE_TCBREAK)
 #define USE_TCBREAK	(defined(SUN4)||defined(PTX))
@@ -66,7 +66,7 @@
 #endif
 
 #if !defined(USE_TC)
-#define USE_TC		(defined(EPIX)||defined(IBMR2)||defined(V386)||defined(S81)||defined(PARAGON))
+#define USE_TC		(defined(EPIX)||defined(IBMR2)||defined(V386)||defined(S81)||defined(PARAGON)||defined(FREEBSD))
 #endif
 
 #if !defined(HAVE_GETUSERATTR)
@@ -74,7 +74,7 @@
 #endif
 
 #if !defined(USE_IOCTL)
-#define USE_IOCTL	(defined(V386)||defined(S81)||defined(NETBSD)||defined(FREEBSD))
+#define USE_IOCTL	(defined(V386)||defined(S81)||defined(NETBSD))
 #endif
 
 
@@ -127,7 +127,6 @@
 #if FREEBSD
 #include <sys/uio.h>
 #include <sys/proc.h>
-#include <sys/ioctl_compat.h>
 #define setsid()	getpid()
 #else
 
