diff --git a/abuild.in b/abuild.in
index 5e345f9ff635b6ab650a030f4b2cf15e5da824de..8551f9971315359fe84446691ad174b46da80c88 100755
--- a/abuild.in
+++ b/abuild.in
@@ -748,7 +748,7 @@ depparse_aports() {
 			case "$j" in
 				!*) continue;;
 			esac
-			deps="$deps ${j%[<>=]*}"
+			deps="$deps ${j%%[<>=]*}"
 		done
 		for j in $pkgname $subpackages; do
 			echo "o ${j%%:*} $dir"
@@ -769,7 +769,7 @@ deptrace() {
 	local deps= i=
 	# strip versions from deps
 	for i in "$@"; do
-		deps="$deps ${i%[<>=]*}"
+		deps="$deps ${i%%[<>=]*}"
 	done
 	[ -z "$deps" ] && return 0
 	( 	depparse_aports 
@@ -811,7 +811,7 @@ builddeps() {
 
 	# add depends unless it is a subpackage
 	for i in $depends; do
-		subpackages_has ${i%[<>=]*} || deps="$deps $i"
+		subpackages_has ${i%%[<>=]*} || deps="$deps $i"
 	done
 
 	installed_deps=$($APK info -e $deps)
@@ -848,7 +848,7 @@ builddeps() {
 
 	# find dependencies that are installed but missing in repo.
 	for i in $deps; do
-		local m=$($APK search --repository "$abuildrepo" ${i%[<>=]*})
+		local m=$($APK search --repository "$abuildrepo" ${i%%[<>=]*})
 		if [ -z "$m" ]; then
 			missing="$missing $i"
 		fi
@@ -934,7 +934,7 @@ deplist_has() {
 	local i
 	shift
 	for i in $@; do
-		i=${i%[<>=]*}
+		i=${i%%[<>=]*}
 		[ "$needle" = "$i" ] && return 0
 		[ "$needle" = "!$i" ] && return 1
 	done