diff --git a/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractor.java b/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractor.java
index 753b7b8ab2eb7420cdade23d02f6882b993d7e8e..d7a7ec8ec114ee1e0f0fdd8bf652160f07c7130b 100644
--- a/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractor.java
+++ b/rtd_cina/source/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractor.java
@@ -70,14 +70,16 @@ public class CinaDataSetInfoExtractor implements IDataSetInfoExtractor
         switch (folderType)
         {
             case DATA_SET:
-                processDataSetFolder(metadata.tryGetMetadataFile(), dataSetInformation, openbisService);
+                processDataSetFolder(metadata.tryGetMetadataFile(), dataSetInformation,
+                        openbisService);
                 break;
             case EXPERIMENT:
                 processExperimentFolder(metadata.tryGetMetadataFile(), dataSetInformation,
                         openbisService);
                 break;
             case SAMPLE:
-                processSampleFolder(metadata.tryGetMetadataFile(), dataSetInformation, openbisService);
+                processSampleFolder(metadata.tryGetMetadataFile(), dataSetInformation,
+                        openbisService);
                 break;
             case UNKNOWN:
                 break;
@@ -114,7 +116,19 @@ public class CinaDataSetInfoExtractor implements IDataSetInfoExtractor
     private void processSampleFolder(final File metadataFile,
             final DataSetInformation dataSetInformation, IEncapsulatedOpenBISService openbisService)
     {
-
+        try
+        {
+            HashMap<String, String> sampleMetadata = convertMetadataFileToMap(metadataFile);
+            SampleMetadataExtractor extractor =
+                    new SampleMetadataExtractor(dataSetInformation, sampleMetadata,
+                            getEntityCodeSuffix(), openbisService);
+            extractor.processMetadataAndFillDataSetInformation();
+        } catch (IOException ex)
+        {
+            UserFailureException userFailure =
+                    new UserFailureException("Could not register sample", ex);
+            throw userFailure;
+        }
     }
 
     /**
diff --git a/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractorTest.java b/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractorTest.java
index a223bf275e54c45d8704d5c5f130594ee8bba19f..047286c2edcc2952f5ba3910d2e9e20f33ec18df 100644
--- a/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractorTest.java
+++ b/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/CinaDataSetInfoExtractorTest.java
@@ -29,8 +29,11 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewExperiment;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.NewSample;
 import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ExperimentIdentifier;
+import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
 
 /**
  * @author Chandrasekhar Ramakrishnan
@@ -79,25 +82,30 @@ public class CinaDataSetInfoExtractorTest extends AssertJUnit
         assertTrue("no-one@nowhere.ch".equals(dataSetInformation.tryGetUploadingUserEmail()));
     }
 
-    // @Test
-    // public void testRegisterSample()
-    // {
-    // context.checking(new Expectations()
-    // {
-    // {
-    // one(openbisService).tryToGetExperiment(with(any(ExperimentIdentifier.class)));
-    // will(returnValue(null));
-    // one(openbisService).registerExperiment(with(any(NewExperiment.class)));
-    // }
-    // });
-    //
-    // File sampleFolder =
-    // new File("sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder");
-    // DataSetInformation dataSetInformation =
-    // extractor.getDataSetInformation(sampleFolder, openbisService);
-    //
-    // assertTrue("no-one@nowhere.ch".equals(dataSetInformation.tryGetUploadingUserEmail()));
-    // }
+    @Test
+    public void testRegisterSample()
+    {
+        final Experiment existingExperiment = new Experiment();
+        context.checking(new Expectations()
+            {
+                {
+                    one(openbisService).tryToGetExperiment(with(any(ExperimentIdentifier.class)));
+                    will(returnValue(existingExperiment));
+                    one(openbisService).tryGetSampleWithExperiment(
+                            with(any(SampleIdentifier.class)));
+                    will(returnValue(null));
+                    one(openbisService).registerSample(with(any(NewSample.class)),
+                            with(aNull(String.class)));
+                }
+            });
+
+        File sampleFolder =
+                new File("sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder");
+        DataSetInformation dataSetInformation =
+                extractor.getDataSetInformation(sampleFolder, openbisService);
+
+        assertTrue("no-one@nowhere.ch".equals(dataSetInformation.tryGetUploadingUserEmail()));
+    }
 
     @Test
     public void testRegisterAmbiguousFolder()
diff --git a/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder/sample.properties b/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder/sample.properties
index 124fde3eff73f0204d67a17457233ae8d9686afd..80ba74bf10f3350615d18dca48c74b2ff8d1dfc3 100644
--- a/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder/sample.properties
+++ b/rtd_cina/sourceTest/java/ch/systemsx/cisd/cina/dss/info/sample-data-folder/sample.properties
@@ -1,3 +1,3 @@
-project.code = CINA1
-experiment.code = EXP
-experiment.owner-email = no-one@nowhere.ch
\ No newline at end of file
+experiment.identifier = /CINA/CINA1/EXP1
+experiment.owner-email = no-one@nowhere.ch
+sample.code-prefix = S
\ No newline at end of file