diff --git a/build.sh b/build.sh
index 8c0d4b0..4c3d9ff 100755
--- a/build.sh
+++ b/build.sh
@@ -25,6 +25,10 @@ for BUILD_TARGET_META in invariants ${BUILD_TARGETS_META:-world}; do
 			0) : $((BUILD_NFINI+=1));
 			   if [ "${ARG_VERBOSE2:-0}" -eq 1 ]; then
 				cat "${WORKDIR}/${PKG_NAME}_stdout.log";
+				if [ "${ARG_XTRACE:-0}" -eq 1 ]; then
+					ex_log_msg vvfo "${WORKDIR}/${PKG_NAME}_stderr.log:";
+					cat "${WORKDIR}/${PKG_NAME}_stderr.log";
+				fi;
 			   fi;
 			   ex_log_msg succ "Finished \`${PKG_NAME}' build."; ;;
 			*) : $((BUILD_NFAIL+=1));
diff --git a/etc/build.usage b/etc/build.usage
index 7934220..d5fe1aa 100644
--- a/etc/build.usage
+++ b/etc/build.usage
@@ -1,7 +1,7 @@
 usage: ./build.sh [-x] [-4|6] [-a nt32|nt64] [-b debug|release] [-c] [-h]
                   [-i] [-N] [-r package[,...][:step]] [-R] [-t[.gz|.bz2|.xz] [-v[v[v]]]
                   [<target>[ ...]]
-        -x                      Set the xtrace sh(1)ell option for debugging purposes.
+        -x                      Set xtrace during package builds; implies -vv.
         -4|-6                   Force IPv[46] when downloading files.
         -a nt32|nt64            Selects 32-bit or 64-bit architecture; defaults to nt64.
         -b debug|release        Selects debug or release build; defaults to debug.
diff --git a/subr/ex_pkg_dispatch.subr b/subr/ex_pkg_dispatch.subr
index a58818b..f099dd6 100644
--- a/subr/ex_pkg_dispatch.subr
+++ b/subr/ex_pkg_dispatch.subr
@@ -24,6 +24,9 @@ ex_pkg_dispatch() {
 	      else						\
 		echo \"fail ${PKG_NAME}\" >&3;			\
 	      fi;" EXIT HUP INT TERM USR1 USR2;
+	if [ "${ARG_XTRACE:-0}" -eq 1 ]; then
+		set -o xtrace;
+	fi;
 	ex_pkg_vars;
 	if [ "${PKG_DISABLED:-0}" -eq 1 ]; then
 		ex_log_msg vnfo "Skipping disabled package \`${PKG_NAME}.'";
diff --git a/subr/ex_setup_args.subr b/subr/ex_setup_args.subr
index fed20d6..2f00c6d 100644
--- a/subr/ex_setup_args.subr
+++ b/subr/ex_setup_args.subr
@@ -50,10 +50,8 @@ ex_setup_args() {
 			TARBALL_SUFFIX=xz;
 		fi;
 	fi;
-	if [ "${ARG_XTRACE:-0}" -eq 1 ]; then
-		set -o xtrace;
-	fi;
-	if [ "${ARG_VERBOSE3:-0}" -eq 1 ]; then
+	if [ "${ARG_VERBOSE3:-0}" -eq 1 ]\
+	|| [ "${ARG_XTRACE:-0}" -eq 1 ]; then
 		ARG_VERBOSE2=1;
 	fi;
 	if [ "${ARG_VERBOSE2:-0}" -eq 1 ]; then