diff --git a/abuild.in b/abuild.in
index a7a993dd988462722b054d9c0a4792b493a6bedc..93a7db18b3a90e1451b00c5b4e73d7ba738538e6 100755
--- a/abuild.in
+++ b/abuild.in
@@ -1127,6 +1127,7 @@ clean_abuildrepo() {
 }
 
 mklinks_abuildrepo() {
+	[ -n "$REPODEST" ] && return 0
 	local apk
 	mkdir -p "$abuildrepo"/$CARCH
 	cd "$abuildrepo" || return 1
@@ -1804,7 +1805,6 @@ pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
 pkgrel=0
 repo=${startdir%/*}
 repo=${repo##*/}
-abuildrepo="$abuildrepo_base"/$repo
 
 SRCDEST=${SRCDEST:-$startdir}
 PKGDEST=${PKGDEST:-$startdir}
@@ -1817,6 +1817,9 @@ if [ -n "$REPODEST" ]; then
 	PKGDEST="$REPODEST/$repo/$CARCH"
 	# for recursive action
 	export REPODEST
+	abuildrepo="$REPODEST"/$repo
+else
+	abuildrepo="$abuildrepo_base"/$repo
 fi
 
 # if we want build debug package