diff --git a/etc/Makefile b/etc/Makefile
index 0f3d3d5ee8a9..6ff50f607bdf 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -14,7 +14,7 @@ BIN1=   amd.map apmd.conf auth.conf \
 	pam.conf phones pim6dd.conf pim6sd.conf \
 	printcap profile protocols \
 	rc rc.atm rc.devfs rc.diskless1 rc.diskless2 rc.firewall rc.firewall6 \
-	rc.isdn rc.network rc.network6 rc.pccard rc.serial rc.shutdown \
+	rc.network rc.network6 rc.pccard rc.serial rc.shutdown \
 	rc.syscons rc.sysctl remote rpc security services shells sysctl.conf \
 	syslog.conf usbd.conf \
 	etc.${MACHINE_ARCH}/disktab \
@@ -24,6 +24,10 @@ BIN1=   amd.map apmd.conf auth.conf \
 	${.CURDIR}/../usr.bin/mail/misc/mail.rc \
 	${.CURDIR}/../usr.bin/locate/locate/locate.rc
 
+.if !defined(NO_I4B)
+BIN1+=	rc.isdn
+.endif
+
 .if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSH)
 SSH=	${.CURDIR}/../crypto/openssh/ssh_config \
 	${.CURDIR}/../crypto/openssh/sshd_config \
@@ -76,8 +80,10 @@ distribution:
 	( cd ${.CURDIR}/../gnu/usr.bin/send-pr; ${MAKE} etc-gnats-freefall ); \
 	( cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap ); \
 	( cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt ); \
-	( cd ${.CURDIR}/isdn; ${MAKE} install ); \
 	pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd; )
+.if !defined(NO_I4B)
+	( cd ${.CURDIR}/isdn; ${MAKE} install )
+.endif
 .if !defined(NO_SENDMAIL)
 	( cd ${.CURDIR}/sendmail; ${MAKE} distribution );
 .endif
diff --git a/etc/defaults/make.conf b/etc/defaults/make.conf
index 920f85a18b6a..9fee8f5969c6 100644
--- a/etc/defaults/make.conf
+++ b/etc/defaults/make.conf
@@ -86,6 +86,7 @@ BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
 #NO_CVS=	true	# do not build CVS
 #NO_BIND=	true	# do not build BIND
 #NO_FORTRAN=	true	# do not build g77 and related libraries
+#NO_I4B=	true	# do not build isdn4bsd package
 #NO_LPR=	true	# do not build lpr and related programs
 #NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
 #NO_MODULES=	true	# do not build modules with the kernel
diff --git a/share/Makefile b/share/Makefile
index d7f7ef8ddce5..d79d7a4261ea 100644
--- a/share/Makefile
+++ b/share/Makefile
@@ -3,13 +3,17 @@
 
 # Do not include `info' in the SUBDIR list, it is handled separately.
 
-SUBDIR= colldef dict examples isdn man me misc mk mklocale monetdef \
+SUBDIR= colldef dict examples man me misc mk mklocale monetdef \
 	msgdef numericdef skel syscons tabset termcap timedef zoneinfo
 
 .if !defined(NO_SHAREDOCS)
 SUBDIR+= doc
 .endif
 
+.if !defined(NO_I4B)
+SUBDIR+= isdn
+.endif
+
 .if !defined(NO_SENDMAIL)
 SUBDIR+= sendmail
 .endif
diff --git a/share/examples/etc/make.conf b/share/examples/etc/make.conf
index 920f85a18b6a..9fee8f5969c6 100644
--- a/share/examples/etc/make.conf
+++ b/share/examples/etc/make.conf
@@ -86,6 +86,7 @@ BDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
 #NO_CVS=	true	# do not build CVS
 #NO_BIND=	true	# do not build BIND
 #NO_FORTRAN=	true	# do not build g77 and related libraries
+#NO_I4B=	true	# do not build isdn4bsd package
 #NO_LPR=	true	# do not build lpr and related programs
 #NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
 #NO_MODULES=	true	# do not build modules with the kernel
diff --git a/share/man/man5/make.conf.5 b/share/man/man5/make.conf.5
index bd159deb65a8..53d56de452ed 100644
--- a/share/man/man5/make.conf.5
+++ b/share/man/man5/make.conf.5
@@ -357,6 +357,9 @@ Set to not build BIND.
 Set to not build
 .Xr g77 1
 and related libraries.
+.It Va NO_I4B
+.Pq Vt bool
+Set to not build isdn4bsd package.
 .It Va NO_LPR
 .Pq Vt bool
 Set to not build
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index e0da32271522..cdfd59e3388a 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -163,7 +163,6 @@ SUBDIR+=acpi \
 	apm \
 	apmd \
 	btxld \
-	i4b \
 	kgmon \
 	kgzip \
 	lptcontrol \
@@ -174,6 +173,9 @@ SUBDIR+=acpi \
 	spkrtest \
 	stallion \
 	wlconfig
+.if !defined(NO_I4B)
+SUBDIR+=i4b
+.endif
 .endif
 
 .if ${MACHINE} == "i386"