diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist
index a3dade417911..8ea1eee97e41 100644
--- a/etc/mtree/BSD.include.dist
+++ b/etc/mtree/BSD.include.dist
@@ -195,6 +195,12 @@
     ..
     kadm5
     ..
+    legacy
+        dev
+            usb
+            ..
+        ..
+    ..
     libmilter
     ..
     lwres
diff --git a/include/Makefile b/include/Makefile
index aea958a6111a..6e116c4b40a8 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -54,7 +54,7 @@ LSUBDIRS=	cam/scsi \
 	security/mac_mls security/mac_partition \
 	ufs/ffs ufs/ufs
 
-LSUBSUBDIRS=	dev/mpt/mpilib
+LSUBSUBDIRS=	dev/mpt/mpilib legacy/dev/usb
 
 .if ${MACHINE_ARCH} == "powerpc"
 _dev_powermac_nvram=	dev/powermac_nvram
diff --git a/usr.bin/kdump/mkioctls b/usr.bin/kdump/mkioctls
index 5feae115a3c7..cad3c962aec1 100644
--- a/usr.bin/kdump/mkioctls
+++ b/usr.bin/kdump/mkioctls
@@ -18,11 +18,14 @@ fi
 
 LC_ALL=C; export LC_ALL
 
+# include subdirs to exclude from the search
+exclude="^legacy/.*"
+
 # Build a list of headers that have ioctls in them.
 # XXX should we use an ANSI cpp?
 ioctl_includes=`
 	cd $1
-	find -H -s * -name '*.h' |
+	find -H -s * -name '*.h' \! -regex $exclude |
 		xargs egrep -l \
 '^#[ 	]*define[ 	]+[A-Za-z_][A-Za-z0-9_]*[ 	]+_IO[^a-z0-9_]' |
 		awk '{printf("#include <%s>\\\\n", $1)}'