diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index 15775f0729bf702b6279492d213bb456e6cac37e..6afdcc9c9415548a1305c4b65058349789b65a51 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -2068,7 +2068,10 @@ init_gids_cache(int cache)
 		if (_gids_cache_lookup(pwd->pw_name, pwd->pw_gid))
 			continue;
 		if (initgroups(pwd->pw_name, pwd->pw_gid)) {
-			error("initgroups:init_gids_cache: %m");
+			if ((errno == EPERM) && (getuid() != (uid_t) 0))
+				debug("initgroups:init_gids_cache: %m");
+			else
+				error("initgroups:init_gids_cache: %m");
 			continue;
 		}
 		if ((gids = _getgroups()) == NULL)
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 72f2062062a887b5dd3a56159c348f5588847181..bd7a61ca35e1639c20015dffc07d6ee2cef6d046 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -1252,8 +1252,13 @@ _initgroups(slurmd_job_t *job)
 	gid = job->pwd->pw_gid;
 	debug2("Uncached user/gid: %s/%ld", username, (long)gid);
 	if (rc = initgroups(username, gid)) {
-		error("Error in initgroups(%s, %ld): %m",
-		      username, (long)gid);
+		if ((errno == EPERM) && (getuid != (uid_t) 0)) {
+			debug("Error in initgroups(%s, %ld): %m",
+				username, (long)gid);
+		} else {
+			error("Error in initgroups(%s, %ld): %m",
+				username, (long)gid);
+		}
 		return -1;
 	}
 	return 0;