diff --git a/abuild.in b/abuild.in
index e8422204fcb036765372b5317056510299589cc4..8e575e716275f75d16a25981151e4f7b497c290a 100755
--- a/abuild.in
+++ b/abuild.in
@@ -1705,20 +1705,25 @@ scan_symlink_targets() {
 # check if python3 site packages are installed and depend on a compatible version
 scan_python3_dependency() {
 	local controldir="$2" datadir="$3"
-	local site_pkg_dirs
-	if site_pkg_dirs="$(find "$datadir"/usr/lib/ -type d -regex '.*python3\.[0-9]\+/site-packages' -mindepth 2 -maxdepth 2 2>/dev/null)"; then
-		local pyver_count="$(echo "$site_pkg_dirs" | wc -l)"
-		if [ "$pyver_count" -gt 1 ]; then
+	local dir_count=0
+	local site_pkg_dir
+	for site_pkg_dir in "$datadir"/usr/lib/python3*/site-packages; do
+		if ! [ -d "$site_pkg_dir" ]; then
+			# empty iteration
+			continue
+		fi
+		dir_count=$((dir_count + 1))
+		if [ "$dir_count" -gt 1 ]; then
 			error "package contains python3 modules for conflicting python3 versions"
-			exit 1
+			return 1
 		fi
-		local pyver="${site_pkg_dirs##*usr/lib/python}"
+		local pyver="${site_pkg_dir##*usr/lib/python}"
 		pyver="${pyver%%/*}"
 		if [ -n "$pyver" ]; then
 			echo "python3~$pyver" \
 				>> "$controldir"/.python3-needs
 		fi
-	fi
+	done
 }
 
 #find pkg-config dependencies