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()));
         }
     }