diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java
index 66069e499f98544c8af0cfa683d832e6f2b2c565..ab4cf826e5d7f927c54dca3f787fcc440e4ad9c8 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/impl/ConversionUtils.java
@@ -62,6 +62,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifi
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifierFactory;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifierFactory;
+import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SpaceIdentifier;
 
 /**
  * Utility methods to convert transaction-layer DTOs to objects accepted by openBIS.
@@ -171,7 +172,7 @@ public class ConversionUtils
         {
             experimentIdentifier = ExperimentIdentifierFactory.parse(sample.getExperiment()
                     .getIdentifier());
-            sampleIdentifier = new SampleIdentifier(experimentIdentifier, sampleIdentifier.getSampleCode());
+            sampleIdentifier = new SampleIdentifier((SpaceIdentifier) experimentIdentifier, sampleIdentifier.getSampleCode());
         }
         String containerIdentifier =
                 (sample.getContainer() != null) ? sample.getContainer().getIdentifier() : null;