diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index bc044558aeedd1b7970faebbf4ac8b42eb2d6db0..c07d07de8364e3dc54f9fac2c228b7e7d9715b7e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -460,12 +460,13 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt spaceBO.save(); // If the user who registers this space is _not_ instance admin, make him space admin for // the freshly created space. - if (new AuthorizationServiceUtils(getDAOFactory(), session.getUserName()).doesUserHaveRole( - RoleCode.ADMIN.toString(), null) == false) + PersonPE person = session.tryGetPerson(); + if (person.isSystemUser() == false + && new AuthorizationServiceUtils(getDAOFactory(), session.getUserName()) + .doesUserHaveRole(RoleCode.ADMIN.toString(), null) == false) { registerSpaceRole(sessionToken, RoleCode.ADMIN, new SpaceIdentifier(spaceCode), Grantee.createPerson(session.getUserName())); - PersonPE person = session.tryGetPerson(); session.setPerson(getDAOFactory().getPersonDAO().getPerson(person.getId())); } }