diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
index cb5e1d901085163da1aacbec4dd50889467babee..4e1e72471a3eb72c59db37024d56ec33317872ff 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/AbstractServer.java
@@ -621,6 +621,12 @@ public abstract class AbstractServer<T> extends AbstractServiceWithLogger<T> imp
 
         final Session session = sessionManager.getSession(sessionToken);
 
+        PersonPE attachedPerson = getDAOFactory().getPersonDAO().tryFindPersonByUserId(session.getUserName());
+        if(attachedPerson != null)
+        {
+            getDAOFactory().getPersonDAO().lock(attachedPerson);
+        }
+
         return displaySettingsProvider.executeActionWithPersonLock(session.getUserName(), new IDelegatedActionWithResult<SessionContextDTO>()
         {
             @Override public SessionContextDTO execute(final boolean didOperationSucceed)
diff --git a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
index c724f7d56b90f8e034430d5f9c2d2a2acdef595e..9226110c3252a700335ef12a21d02da555e650b8 100644
--- a/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
+++ b/server-application-server/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/GeneralInformationChangingService.java
@@ -150,6 +150,12 @@ public class GeneralInformationChangingService extends
             final PersonPE person = session.tryGetPerson();
             if (person != null)
             {
+                PersonPE attachedPerson = getDAOFactory().getPersonDAO().tryFindPersonByUserId(person.getUserId());
+                if(attachedPerson != null)
+                {
+                    getDAOFactory().getPersonDAO().lock(attachedPerson);
+                }
+
                 displaySettingsProvider.executeActionWithPersonLock(person, new IDelegatedActionWithResult<Object>()
                 {
                     @Override public Object execute(final boolean didOperationSucceed)