diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c
index 0fd6017505aff2328656e6206c3f1090b2ff92e5..fcdbc0ee1dc22ebf8bf1ee76383a9262182f732c 100644
--- a/src/slurmctld/read_config.c
+++ b/src/slurmctld/read_config.c
@@ -652,8 +652,10 @@ static int _parse_part_spec(char *in_line)
 			default_part.shared    = shared_val;
 		if (allow_groups) {
 			xfree(default_part.allow_groups);
-			default_part.allow_groups = allow_groups;
-			allow_groups = NULL;
+			if (strcasecmp(allow_groups, "ALL")) {
+				default_part.allow_groups = allow_groups;
+				allow_groups = NULL;
+			}
 		}
 		if (nodes) {
 			xfree(default_part.nodes);