diff --git a/main/devicepkg-dev/APKBUILD b/main/devicepkg-dev/APKBUILD
index 6861cf7d7cdff4b57e0c7dd8cfda1a7e494b9a8e..c2036c54483e35913b1d9fa61df0c7876712f839 100644
--- a/main/devicepkg-dev/APKBUILD
+++ b/main/devicepkg-dev/APKBUILD
@@ -1,5 +1,5 @@
 pkgname="devicepkg-dev"
-pkgver=0.11.3
+pkgver=0.11.4
 pkgrel=0
 pkgdesc="Provides default device package functions"
 url="https://postmarketos.org"
@@ -63,8 +63,8 @@ package() {
 sha512sums="d69930dd790b00fb39760a37d95a10899f0d167e10e2804feb05d9ce04f94185dc32d36edc90214aba2ea2aa09bf18f7dab93f1d2eff23f67beb2cc83be30e7c  compiler-gcc.h
 332f693abfb3260ad6c1ef5d245062af8cc8eedba7db360d54db5a7fcf7b301a37a299a0004e9ff4de80b5dfcd260d0cd0f99f96ed6d56080bb4dea81116cc82  devicepkg_build.sh
 5ac4a5087c598582cb12278a4ce0c2dccfe7f91c1620d3328d1d0944c89eff81f8afcc681506d73a80d69615401f96a99fb1fdaa755fea101e0d36ec6ef2d5d0  devicepkg_package.sh
-69dad4bde05377ec235d72789c80cdfbdaa5a19b97defe9d4c19e0e12aa2c081d6dcf19fb80ebe33c2d6539ce8a39d36d98413404852d6bb2d56cc75d2f1ee95  downstreamkernel_prepare.sh
-8a6a0afa6e499b59c5433194298d13eb07712c4344e1dd4f71fdc34a2836950a12247c61aa7563bd646efff6118b377ceb387f09170282896809a160b3d9cd04  downstreamkernel_package.sh
+299e49a221ef6acadf99591cd675cb8baf4f8fd181d440213777a05fb979020e7dfe64f3247311fb92f85da1b74cf849096cf3abce04325ed77e36be8f1f064e  downstreamkernel_prepare.sh
+10e05eb9aa7735bf177cf0c38ea45efbea7e6d1581d54dc05b950916a615c67cecc6c686cdf3d27ee9e71c32447f3b0c207a139096f4dd4291ed06616363dfea  downstreamkernel_package.sh
 cf5ee240cd1c1e9d30cdec833b4a007fd2e00f9a32ba3f265f99aa2e3dd3601cf43c08d3f3e01bade1d5b2648a6754b2f236e5cb4a9945e18e5c4e97aa2ed7c8  devicepkg_subpackage_kernel.sh
 9bb7f2a0930f397a713e9f4b6d5b83a426d9a2a3f692dcc42ac30717bf26ead869d8823a38f3ad388af12b2b9a02e8ec4d4418e9c2062389ed06d2b891a49ff3  deviceinfo
 136247a16ec91dc0c7241eeddb28c2196ae3b29946a9bc7e9566f848491ef1c53b12d05bf2dbc1cc352986712fd76f25c1510bcc8f301af540a2f01c33b299e1  expected-deviceinfo-downstream
diff --git a/main/devicepkg-dev/downstreamkernel_package.sh b/main/devicepkg-dev/downstreamkernel_package.sh
index ef589a4467eca4a53665e10fa88002c8d940a729..08549abd5aea47b20fc7252bbd8706cf5d58fab5 100644
--- a/main/devicepkg-dev/downstreamkernel_package.sh
+++ b/main/devicepkg-dev/downstreamkernel_package.sh
@@ -5,6 +5,7 @@ builddir=$1
 pkgdir=$2
 _carch=$3
 _flavor=$4
+_outdir=$5
 
 if [ -z "$builddir" ] || [ -z "$pkgdir" ] || [ -z "$_carch" ] ||
 	[ -z "$_flavor" ]; then
@@ -15,12 +16,12 @@ if [ -z "$builddir" ] || [ -z "$pkgdir" ] || [ -z "$_carch" ] ||
 fi
 
 # kernel.release
-install -D "$builddir/include/config/kernel.release" \
+install -D "$builddir/$_outdir/include/config/kernel.release" \
 	"$pkgdir/usr/share/kernel/$_flavor/kernel.release"
 
 # zImage (find the right one)
 # shellcheck disable=SC2164
-cd "$builddir/arch/$_carch/boot"
+cd "$builddir/$_outdir/arch/$_carch/boot"
 _target="$pkgdir/boot/vmlinuz-$_flavor"
 
 if [ -n "$KERNEL_IMAGE_NAME" ]; then
diff --git a/main/devicepkg-dev/downstreamkernel_prepare.sh b/main/devicepkg-dev/downstreamkernel_prepare.sh
index 30d51205ad42e9c414f14ea14d1fbe6d87c5c024..802df3f8335629052aecac25ea2a8e14d4388f50 100644
--- a/main/devicepkg-dev/downstreamkernel_prepare.sh
+++ b/main/devicepkg-dev/downstreamkernel_prepare.sh
@@ -21,23 +21,13 @@ install_gcc_h() {
 	cp -v "/usr/share/devicepkg-dev/compiler-gcc.h" "$_gcch"
 }
 
-# Parse arguments
-srcdir=$1
-builddir=$2
-_config=$3
-_carch=$4
-HOSTCC=$5
-
-if [ -z "$srcdir" ] || [ -z "$builddir" ] || [ -z "$_config" ] ||
-	[ -z "$_carch" ]; then
-	echo "ERROR: missing argument!"
-	echo "Please call downstreamkernel_prepare() with \$srcdir, \$builddir,"
-	echo "\$_config, \$_carch (and optionally \$HOSTCC) as arguments."
-	exit 1
+# Set _outdir to "." if not set
+if [ -z "$_outdir" ]; then
+	_outdir="."
 fi
 
 # Only override HOSTCC if set (to force use of an old gcc)
-[ -z "$HOSTCC" ] || HOSTCC="HOSTCC=$HOSTCC"
+# [ -z "$HOSTCC" ] || HOSTCC="HOSTCC=$HOSTCC"
 
 # Support newer GCC versions
 install_gcc_h
@@ -52,6 +42,8 @@ for i in $makefiles; do
 done
 
 # Prepare kernel config ('yes ""' for kernels lacking olddefconfig)
-cp "$srcdir/$_config" "$builddir"/.config
+mkdir -p "$builddir/$_outdir"
+cp "$srcdir/$_config" "$builddir"/"$_outdir"/.config
 # shellcheck disable=SC2086
-yes "" | make -C "$builddir" ARCH="$_carch" $HOSTCC oldconfig
+yes "" | make -C "$builddir" ARCH="$_carch" O="$_outdir" \
+	$HOSTCC oldconfig