diff --git a/abuild.in b/abuild.in
index c460ad4040de1f8aa55efb7a5ceeb46ead5d2a19..2780d2e2b5615c98b3e78e328c99fe40be3bf40f 100755
--- a/abuild.in
+++ b/abuild.in
@@ -486,6 +486,12 @@ cleanoldpkg() {
 
 mkusers() {
 	local i
+	for i in $pkggroups; do
+		if ! getent group $i >/dev/null; then
+			msg "Creating group $i"
+			$ADDGROUP -S $i || return 1
+		fi
+	done
 	for i in $pkgusers; do
 		if ! getent passwd $i >/dev/null; then
 			local gopt=
@@ -496,12 +502,6 @@ mkusers() {
 			$ADDUSER -S -D -H $gopt $i || return 1
 		fi
 	done
-	for i in $pkggroups; do
-		if ! getent group $i >/dev/null; then
-			msg "Creating group $i"
-			$ADDGROUP -S $i || return 1
-		fi
-	done
 }