diff --git a/abuild.in b/abuild.in
index 9d430995e67e1ce01cfeaf26ca277039b9069bb3..6dc2fb49f72e57760bea358815b962eb3b29d450 100755
--- a/abuild.in
+++ b/abuild.in
@@ -709,7 +709,7 @@ builddeps() {
 		&& return 0
 
 	uninstall_after=".makedepends-$pkgname $uninstall_after"
-	if [ -n "$install_deps" ]; then
+	if [ -n "$install_deps" ] && [ -z "$recursive" ]; then
 		$SUDO apk add --repo "$apkcache" \
 			--virtual .makedepends-$pkgname $deps \
 			&& return 0
@@ -724,7 +724,7 @@ builddeps() {
 		msg "Entering $dir"
 		cd "$dir" && $0 -k -r apkcache || return 1
 	done
-	$SUDO apk add --repo "$apkcache" \
+	$SUDO apk add --repo -u "$apkcache" \
 		--virtual .makedepends-$pkgname $deps
 }