diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResults.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResults.java
index a1219193882cac8b9e3bc20d6bead1e2f78f9fc7..95564639f7965361844615f46b2babb39316386b 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResults.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResults.java
@@ -52,8 +52,8 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx
     @Private static final String SEPARATOR_KEY = "separator";
     @Private static final String DEFAULT_SEPARATOR = "&";
     @Private static final String DEFAULT_EXPERIMENT_PROPERTIES_FILE_NAME = "search.properties";
-    @Private static final String PARENT_DATA_SET_CODES = "parent-data-set-codes";
-    @Private static final String EXPERIMENT_IDENTIFIER_KEY = "base-experiment";
+    static final String PARENT_DATA_SET_CODES = "parent-data-set-codes";
+    static final String EXPERIMENT_IDENTIFIER_KEY = "base-experiment";
     
     private final String separator;
     private final String experimentPropertiesFileName;
@@ -102,7 +102,7 @@ public class DataSetInfoExtractorForProteinResults extends AbstractDataSetInfoEx
         String parentDataSetCodesOrNull = getProperty(properties, PARENT_DATA_SET_CODES);
         if (parentDataSetCodesOrNull != null)
         {
-            info.setParentDataSetCodes(Arrays.asList(StringUtils.split(parentDataSetCodesOrNull)));
+            info.setParentDataSetCodes(Arrays.asList(StringUtils.split(parentDataSetCodesOrNull, ", ")));
         } else 
         {
             String baseExperimentIdentifier = getProperty(properties, EXPERIMENT_IDENTIFIER_KEY);
diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResultsTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResultsTest.java
index 3af3687a2d36899ec0376043f065a4a2cdceea1f..0ffa9aae8dcca2f317f5e3fcc0a90e4fe3404746 100644
--- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResultsTest.java
+++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/etlserver/phosphonetx/DataSetInfoExtractorForProteinResultsTest.java
@@ -61,6 +61,9 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier;
 @Friend(toClasses=DataSetInfoExtractorForProteinResults.class)
 public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSystemTestCase
 {
+    private static final String PARENT_DATA_SET_CODES_KEY =
+            DataSetInfoExtractorForProteinResults.PARENT_DATA_SET_CODES.toUpperCase();
+
     private Mockery context;
     private IEncapsulatedOpenBISService service;
     private File dataSet;
@@ -211,6 +214,61 @@ public class DataSetInfoExtractorForProteinResultsTest extends AbstractFileSyste
         context.assertIsSatisfied();
     }
     
+    @Test
+    public void testWithParentDataSetsSeparatedBySpaces()
+    {
+        String propertiesFile = "my.properties";
+        FileUtilities.writeToFile(new File(dataSet, propertiesFile), "answer=42\nblabla=blub\n"
+                + EXPERIMENT_IDENTIFIER_KEY + "= /TEST/PROJECT/EXP1\n" + PARENT_DATA_SET_CODES_KEY
+                + " = ds1     ds2");
+        Properties properties = new Properties();
+        String experimentType = "MY_EXPERIMENT";
+        properties.setProperty(EXPERIMENT_TYPE_CODE_KEY, experimentType);
+        properties.setProperty(EXPERIMENT_PROPERTIES_FILE_NAME_KEY, propertiesFile);
+        prepare(experimentType);
+        context.checking(new Expectations()
+            {
+                {
+                    one(service).registerExperiment(with(any(NewExperiment.class)));
+                }
+            });
+
+        IDataSetInfoExtractor extractor = createExtractor(properties);
+
+        DataSetInformation info = extractor.getDataSetInformation(dataSet, service);
+
+        assertEquals("/SPACE1/PROJECT1/E4711", info.getExperimentIdentifier().toString());
+        assertEquals("[ds1, ds2]", info.getParentDataSetCodes().toString());
+        context.assertIsSatisfied();
+    }
+
+    @Test
+    public void testWithParentDataSetsSeparatedByComma()
+    {
+        String propertiesFile = "my.properties";
+        FileUtilities.writeToFile(new File(dataSet, propertiesFile), "answer=42\nblabla=blub\n"
+                + PARENT_DATA_SET_CODES_KEY + " = ds1,ds2");
+        Properties properties = new Properties();
+        String experimentType = "MY_EXPERIMENT";
+        properties.setProperty(EXPERIMENT_TYPE_CODE_KEY, experimentType);
+        properties.setProperty(EXPERIMENT_PROPERTIES_FILE_NAME_KEY, propertiesFile);
+        prepare(experimentType);
+        context.checking(new Expectations()
+            {
+                {
+                    one(service).registerExperiment(with(any(NewExperiment.class)));
+                }
+            });
+
+        IDataSetInfoExtractor extractor = createExtractor(properties);
+
+        DataSetInformation info = extractor.getDataSetInformation(dataSet, service);
+
+        assertEquals("/SPACE1/PROJECT1/E4711", info.getExperimentIdentifier().toString());
+        assertEquals("[ds1, ds2]", info.getParentDataSetCodes().toString());
+        context.assertIsSatisfied();
+    }
+    
     private void prepare(final String experimentType)
     {
         context.checking(new Expectations()