diff --git a/build/autoMakefile.am.toplevel b/build/autoMakefile.am.toplevel
index 5336f2c78500550409291afb5724242cc28759b5..1283decf9a1bb34faebe30d296813ddfb00d48b6 100644
--- a/build/autoMakefile.am.toplevel
+++ b/build/autoMakefile.am.toplevel
@@ -1,7 +1,7 @@
 AUTOMAKE_OPTIONS = foreign
 
 SUBDIRS := . build @LIBSYSIO_SUBDIR@ portals lustre
-DIST_SUBDIRS := build @LIBSYSIO_SUBDIR@ portals lustre
+DIST_SUBDIRS := build libsysio portals lustre
 
 EXTRA_DIST := config.h.in
 
diff --git a/build/autoconf/lustre-build.m4 b/build/autoconf/lustre-build.m4
index 5b59a20fea8e104ecf1a88966270543f247a2bfe..f4f003807e3c986829e8a4cebf5fe7b57bd081b1 100644
--- a/build/autoconf/lustre-build.m4
+++ b/build/autoconf/lustre-build.m4
@@ -42,8 +42,10 @@ case x$with_sysio in
 		with_sysio="yes"
 		;;
 esac
-AC_SUBST(LIBSYSIO_SUBDIR)
-AC_SUBST(SYSIO)
+
+# We have to configure even if we don't build here for make dist to
+# work
+AC_CONFIG_SUBDIRS(libsysio)
 ])
 
 #
@@ -352,6 +354,17 @@ AM_CONDITIONAL(DOC, test x$ENABLE_DOC = x1)
 AM_CONDITIONAL(CRAY_PORTALS, test x$with_cray_portals != xno)
 AM_CONDITIONAL(INIT_SCRIPTS, test x$ENABLE_INIT_SCRIPTS = "x1")
 
+# this lets lustre cancel libsysio, per-branch or if liblustre is
+# disabled
+if test "x$LIBSYSIO_SUBDIR" = xlibsysio ; then
+	if test "x$with_sysio" != xyes ; then
+		SYSIO=""
+		LIBSYSIO_SUBDIR=""
+	fi
+fi
+AC_SUBST(LIBSYSIO_SUBDIR)
+AC_SUBST(SYSIO)
+
 LB_LINUX_CONDITIONALS
 LB_DARWIN_CONDITIONALS
 
@@ -382,16 +395,6 @@ LB_CONFIG_MODULES
 
 LC_CONFIG_LIBLUSTRE
 
-# this lets lustre cancel libsysio, per-branch or if liblustre is
-# disabled
-if text x$LIBSYSIO_SUBDIR = xlibsysio ; then
-	if test x$with_sysio = xyes ; then
-		AC_CONFIG_SUBDIRS(libsysio)
-	else
-		LIBSYSIO_SUBDIR=
-	fi
-fi
-
 LP_CONFIGURE
 LC_CONFIGURE