diff --git a/abuild-sudo.c b/abuild-sudo.c
index 450e4add3d38892243e39f4d39369494c000afa7..00d00a513e2b4a19dbaa46af7e70bef94f438985 100644
--- a/abuild-sudo.c
+++ b/abuild-sudo.c
@@ -62,7 +62,7 @@ void check_option(const char *opt)
 
 int is_in_group(gid_t group)
 {
-	int ngroups_max = sysconf(_SC_NGROUPS_MAX) + 1;
+	int ngroups_max = getgroups(0, 0);
 	gid_t *buf = malloc(ngroups_max * sizeof(gid_t));
 	int ngroups;
 	int i;