diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
index 7c4b26d8f8eaa1368444f3dc4477782fa180c1f9..2e2a3a66c3c4f98463ec244c20c27b35e5404102 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/PlateStorageProcessor.java
@@ -21,6 +21,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Properties;
@@ -188,12 +189,27 @@ public final class PlateStorageProcessor extends AbstractStorageProcessor
         this.currentTransaction = null;
     }
 
+    private final static List<String> tryGetListOfLabels(Properties properties, String propertyKey)
+    {
+        String itemsList = PropertyUtils.getProperty(properties, propertyKey);
+        if (itemsList == null)
+        {
+            return null;
+        }
+        String[] items = itemsList.split(",");
+        for (int i = 0; i < items.length; i++)
+        {
+            items[i] = items[i].trim();
+        }
+        return Arrays.asList(items);
+    }
+
     public final static List<ChannelDescription> extractChannelDescriptions(
             final Properties properties)
     {
         List<String> names = PropertyUtils.tryGetList(properties, CHANNEL_NAMES);
         List<String> codes = PropertyUtils.tryGetList(properties, CHANNEL_CODES);
-        List<String> labels = PropertyUtils.tryGetList(properties, CHANNEL_LABELS);
+        List<String> labels = tryGetListOfLabels(properties, CHANNEL_LABELS);
         if (names != null && (codes != null || labels != null))
         {
             throw new ConfigurationFailureException(String.format(