diff --git a/libexec/lukemftpd/Makefile b/libexec/lukemftpd/Makefile
index 138d0f5efeea..9a702d561233 100644
--- a/libexec/lukemftpd/Makefile
+++ b/libexec/lukemftpd/Makefile
@@ -4,15 +4,18 @@
 MAINTAINER=	obrien
 
 LUKEMFTPD=	${.CURDIR}/../../contrib/lukemftpd
-.PATH: ${LUKEMFTPD}/src
+.PATH: ${LUKEMFTPD}/src ${LUKEMFTPD}/libnetbsd
 
 PROG=	lukemftpd
 MAN=	lukemftpd.8 ftpd.conf.5 ftpusers.5
 MLINKS=	ftpusers.5 ftpchroot.5
 SRCS=	cmds.c conf.c ftpd.c ftpcmd.y popen.c
+SRCS+=	strsuftoll.c
 
 WFORMAT= 0
+CFLAGS+= -include nbsd2fbsd.h
 CFLAGS+= -I${.CURDIR} -I${LUKEMFTPD} -I${LUKEMFTPD}/src
+CFLAGS+= -I${.CURDIR}/../..//lib/libc/stdtime
 YFLAGS=
 
 LDADD=	-lcrypt -lutil
diff --git a/libexec/lukemftpd/nbsd2fbsd.h b/libexec/lukemftpd/nbsd2fbsd.h
new file mode 100644
index 000000000000..ca26de734d7d
--- /dev/null
+++ b/libexec/lukemftpd/nbsd2fbsd.h
@@ -0,0 +1,11 @@
+/* $FreeBSD$ */
+
+/* XXX: Depend on our system headers protecting against multiple includes. */
+#include <paths.h>
+#undef _PATH_FTPUSERS
+
+#include <pwd.h>
+
+#define	LOGIN_NAME_MAX MAXLOGNAME	/* <sys/param.h> */
+
+#define _DIAGASSERT(x)
diff --git a/libexec/lukemftpd/util.h b/libexec/lukemftpd/util.h
new file mode 100644
index 000000000000..91ce241953ea
--- /dev/null
+++ b/libexec/lukemftpd/util.h
@@ -0,0 +1,3 @@
+/* $FreeBSD$ */
+
+#include <libutil.h>