diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java
index a3cdbacfa179ed0fe782cca0ded60973f3acf0d1..4ea8f7ce999bb3f8c4e870e40aa3c89fdf6b236c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/api/v1/Translator.java
@@ -60,6 +60,13 @@ class Translator
             initializer.putProperty(prop.getPropertyType().getCode(), prop.getValue());
         }
 
+        ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment experimentOrNull =
+                privateSample.getExperiment();
+        if (null != experimentOrNull)
+        {
+            initializer.setExperimentIdentifierOrNull(experimentOrNull.getIdentifier());
+        }
+
         return new Sample(initializer);
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Sample.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Sample.java
index 500b838f4a2c01fd4f62c875d4216f5f18173dc3..25901a8ed50cc8937f7ef08b186a04dbe06ad4d1 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Sample.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/v1/dto/Sample.java
@@ -54,6 +54,8 @@ public final class Sample implements Serializable
 
         private String identifier;
 
+        private String experimentIdentifierOrNull;
+
         private Long sampleTypeId;
 
         private String sampleTypeCode;
@@ -100,6 +102,16 @@ public final class Sample implements Serializable
             this.identifier = identifier;
         }
 
+        public String getExperimentIdentifierOrNull()
+        {
+            return experimentIdentifierOrNull;
+        }
+
+        public void setExperimentIdentifierOrNull(String experimentIdentifierOrNull)
+        {
+            this.experimentIdentifierOrNull = experimentIdentifierOrNull;
+        }
+
         public void setSampleTypeId(Long sampleTypeId)
         {
             this.sampleTypeId = sampleTypeId;
@@ -140,6 +152,8 @@ public final class Sample implements Serializable
 
     private final String identifier;
 
+    private final String experimentIdentifierOrNull;
+
     private final Long sampleTypeId;
 
     private final String sampleTypeCode;
@@ -165,6 +179,8 @@ public final class Sample implements Serializable
         checkValidString(initializer.getIdentifier(), "Unspecified identifier.");
         this.identifier = initializer.getIdentifier();
 
+        this.experimentIdentifierOrNull = initializer.getExperimentIdentifierOrNull();
+
         checkValidLong(initializer.getSampleTypeId(), "Unspecified sample type id.");
         this.sampleTypeId = initializer.getSampleTypeId();
 
@@ -222,6 +238,11 @@ public final class Sample implements Serializable
         return identifier;
     }
 
+    public String getExperimentIdentifierOrNull()
+    {
+        return experimentIdentifierOrNull;
+    }
+
     /**
      * Returns the sample type id.
      */