diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java
index 6670d41ffb5a8a940d19cb75f087b8286ac50975..229ee128507b2264bd3743bfbac461983ee77432 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DefaultDropbox.java
@@ -35,12 +35,12 @@ public class DefaultDropbox extends AbstractJavaDataSetRegistrationDropboxV2
     public void process(IDataSetRegistrationTransactionV2 transaction)
     {
         IDataSet dataSet = transaction.createNewDataSet();
-        if (dataSet.getExperiment() == null)
+        if (dataSet.getExperiment() == null && dataSet.getSample() == null)
         {
             ISampleImmutable sample = transaction.getSearchService().getSample(SAMPLE_IDENTIFIER);
             if (sample == null)
             {
-                transaction.createNewSample(SAMPLE_IDENTIFIER, "UNKNOWN");
+                sample = transaction.createNewSample(SAMPLE_IDENTIFIER, "UNKNOWN");
             }
             dataSet.setSample(sample);
         }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java
index 17de3484743f0162f50290b271e74fe90b7da1fe..f5815bf3ae1950a89426c29a6c01024d660c825d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/identifier/SampleOwnerIdentifier.java
@@ -120,13 +120,12 @@ public class SampleOwnerIdentifier extends AbstractHashable implements Serializa
     }
 
     /**
-     * It is a good pattern to use {@link #isSpaceLevel()} before calling this method.
-     * 
-     * @return The space which is the owner or null if the owner is not a space, but database instance.
+     * Returns the space identifier. In case of project samples the project identifier is returned.
+     * In case of shared sample <code>null</code> is returned.
      */
     public SpaceIdentifier getSpaceLevel()
     {
-        return spaceIdentOrNull;
+        return projectIdentifier != null ? projectIdentifier : spaceIdentOrNull;
     }
 
     //