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 e5f348f411f462123ab37c65da669aecbc6f144e..cc931ec775316920f6bc3ec5f5c01246a279e89b 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
@@ -3995,7 +3995,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt
         Session session = getSession(sessionToken);
 
         IMetaprojectBO metaprojectBO = getBusinessObjectFactory().createMetaprojectBO(session);
-        metaprojectBO.define(registration);
+        metaprojectBO.define(session.tryGetPerson().getUserId(), registration);
         metaprojectBO.save();
 
         return MetaprojectTranslator.translate(metaprojectBO.getMetaproject());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
index 060e50aa8bd593c07b8cf92d962099009718fa34..ffdc4659f50133c54292c221658ec874b201c6b8 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java
@@ -1803,7 +1803,7 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements
         Metaproject registration = new Metaproject();
         registration.setName(metaproject.getName());
         registration.setDescription(metaproject.getDescription());
-        metaprojectBO.define(registration);
+        metaprojectBO.define(metaproject.getOwnerId(), registration);
 
         metaprojectBO.addSamples(metaproject.getSamples());
         metaprojectBO.addExperiments(metaproject.getExperiments());
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java
index 95fad2b335b56dae0ada6120525116739c9214c3..8873c78d607d8cbe249f4489464004bb4bb1c0cd 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java
@@ -37,7 +37,7 @@ public interface IMetaprojectBO extends IEntityBusinessObject
 
     void loadByMetaprojectId(IMetaprojectId metaprojectId);
 
-    void define(IMetaprojectRegistration registration);
+    void define(String ownerId, IMetaprojectRegistration registration);
 
     void update(IMetaprojectUpdates updates);
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java
index 577153cdcd73fdf4fd9e5f47b8cd87041206cc12..9cfbde1c9b1e9750dbcdd9b26bdff42d545f4faa 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java
@@ -208,7 +208,7 @@ public class MetaprojectBO extends AbstractBusinessObject implements IMetaprojec
     }
 
     @Override
-    public void define(IMetaprojectRegistration registration)
+    public void define(String ownerId, IMetaprojectRegistration registration)
     {
         if (registration == null)
         {
@@ -222,7 +222,7 @@ public class MetaprojectBO extends AbstractBusinessObject implements IMetaprojec
         metaproject = new MetaprojectPE();
         metaproject.setName(registration.getName());
         metaproject.setDescription(registration.getDescription());
-        metaproject.setOwner(findPerson());
+        metaproject.setOwner(getPersonDAO().tryFindPersonByUserId(ownerId));
         metaproject.setPrivate(true);
 
         initChangedEntities();
diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
index ffe7bd7adbfacf2d4bb181a5da93e40b52b1864d..af48d604111ec832cc9b27cc788a55a99ce3a8ad 100644
--- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
+++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java
@@ -1194,7 +1194,8 @@ public class ETLServiceTest extends AbstractServerTestCase
                     one(boFactory).createMetaprojectBO(userSession);
                     will(returnValue(metaprojectBO));
 
-                    one(metaprojectBO).define(with(any(IMetaprojectRegistration.class)));
+                    one(metaprojectBO).define(with(newMetaproject.getOwnerId()),
+                            with(any(IMetaprojectRegistration.class)));
                     one(metaprojectBO).addSamples(null);
                     one(metaprojectBO).addDataSets(null);
                     one(metaprojectBO).addExperiments(null);