diff --git a/abuild.in b/abuild.in
index 8a62d46096c6e6a2b69c42bdc580eb904cf32cbf..834965344d6d4c8c815b846b3740f76561c2787b 100755
--- a/abuild.in
+++ b/abuild.in
@@ -777,6 +777,10 @@ apk_arch_prefix() {
 	apk index -q "$1" | tar -zxO | awk -F: '$1 == "A" { print $2 }'
 }
 
+apk_arch_prefix_compat() {
+	tar -zxOf "$1" .PKGINFO | awk -F" = " '$1 == "arch" { print $2 }'
+}
+
 clean_abuildrepo() {
 	local apk
 	cd "$abuildrepo" || return 1
@@ -795,13 +799,17 @@ clean_abuildrepo() {
 }
 
 mklinks_abuildrepo() {
-	local apk
+	local apk get_prefix=apk_arch_prefix
+	local version=$($APK --version | awk '{print $2}')
+	if [ "$($APK version --test $version 2.1)" = '<' ]; then
+		get_prefix=apk_arch_prefix_compat
+	fi
 	mkdir -p "$abuildrepo"/$CARCH "$abuildrepo"/noarch
 	cd "$abuildrepo" || return 1
 	# create links for this package
 	for apk in $(listpkg); do
 		[ -f "$PKGDEST"/$apk ] || continue
-		local prefix=$(apk_arch_prefix "$PKGDEST"/$apk)
+		local prefix=$($get_prefix "$PKGDEST"/$apk)
 		mkdir -p "$abuildrepo"/$prefix
 		ln -sf "$PKGDEST"/$apk "$abuildrepo"/$prefix/$apk
 	done