diff --git a/common/xbps-src/libexec/build.sh b/common/xbps-src/libexec/build.sh
index b71e1c0bfe..67a7dba901 100755
--- a/common/xbps-src/libexec/build.sh
+++ b/common/xbps-src/libexec/build.sh
@@ -83,7 +83,7 @@ if declare -f do_clean >/dev/null; then
     run_func do_clean
 fi
 
-if [ -z "$XBPS_KEEP_ALL" ]; then
+if [ -n "$XBPS_DEPENDENCY" -o -z "$XBPS_KEEP_ALL" ]; then
     remove_pkg_autodeps
     remove_pkg_wrksrc
     remove_pkg $XBPS_CROSS_BUILD
diff --git a/common/xbps-src/shutils/build_dependencies.sh b/common/xbps-src/shutils/build_dependencies.sh
index af7e11f2d3..5fa38b4832 100644
--- a/common/xbps-src/shutils/build_dependencies.sh
+++ b/common/xbps-src/shutils/build_dependencies.sh
@@ -344,7 +344,8 @@ install_pkg_deps() {
         (
         curpkgdepname=$($XBPS_UHELPER_CMD getpkgname "$i" 2>/dev/null)
         setup_pkg $curpkgdepname $cross
-        exec env XBPS_BINPKG_EXISTS=1 $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $?
+        exec env XBPS_DEPENDENCY=1 XBPS_BINPKG_EXISTS=1 \
+            $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $?
         ) || exit $?
         binpkg_deps+=("$i")
     done
@@ -361,7 +362,8 @@ install_pkg_deps() {
             fi
         fi
         setup_pkg $curpkgdepname $cross
-        exec env XBPS_BINPKG_EXISTS=1 $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $?
+        exec env XBPS_DEPENDENCY=1 XBPS_BINPKG_EXISTS=1 \
+            $XBPS_LIBEXECDIR/build.sh $sourcepkg $pkg $target $cross $cross_prepare || exit $?
         ) || exit $?
     done
 
diff --git a/common/xbps-src/shutils/pkgtarget.sh b/common/xbps-src/shutils/pkgtarget.sh
index 6a21c97e40..abdf608823 100644
--- a/common/xbps-src/shutils/pkgtarget.sh
+++ b/common/xbps-src/shutils/pkgtarget.sh
@@ -43,8 +43,6 @@ pkg_available() {
 remove_pkg_autodeps() {
     local rval= tmplogf=
 
-    [ -n "$XBPS_KEEP_ALL" ] && return 0
-
     cd $XBPS_MASTERDIR || return 1
     msg_normal "${pkgver:-xbps-src}: removing autodeps, please wait...\n"
     tmplogf=$(mktemp)