diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/PropertiesBatchManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/PropertiesBatchManager.java
index 884c798668001ed2bbbeacf0b39c90e801a6ed33..73bac51af517a1df831f369132047b4f9608af18 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/PropertiesBatchManager.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/PropertiesBatchManager.java
@@ -138,7 +138,7 @@ public class PropertiesBatchManager implements IPropertiesBatchManager
         List<IEntityProperty> newProperties = new ArrayList<IEntityProperty>();
 
         Map<String, Map<String, String>> subColumnBindings =
-                createColumnBindingsMap(propertiesBean.getProperties());
+                createColumnBindingsMap(propertiesBean.getProperties(), contexts);
         for (Entry<String, Map<String, String>> entry : subColumnBindings.entrySet())
         {
             String code = entry.getKey();
@@ -159,6 +159,7 @@ public class PropertiesBatchManager implements IPropertiesBatchManager
                 errors.accumulateError(rowNumber, ex, code, evalContext.scriptPE);
             }
         }
+
         return newProperties;
     }
 
@@ -192,7 +193,8 @@ public class PropertiesBatchManager implements IPropertiesBatchManager
         return entityProperty;
     }
 
-    private Map<String, Map<String, String>> createColumnBindingsMap(IEntityProperty[] properties)
+    private Map<String, Map<String, String>> createColumnBindingsMap(IEntityProperty[] properties,
+            Map<String, EvaluationContext> contexts)
     {
         Map<String, Map<String, String>> subColumnBindings =
                 new HashMap<String, Map<String, String>>();
@@ -229,6 +231,15 @@ public class PropertiesBatchManager implements IPropertiesBatchManager
                 bindings.put(originalColumnEntry.getKey(), originalColumnEntry.getValue());
             }
         }
+
+        for (Entry<String, EvaluationContext> entry : contexts.entrySet())
+        {
+            String code = entry.getKey().toUpperCase();
+            if (false == subColumnBindings.containsKey(code))
+            {
+                subColumnBindings.put(code, new HashMap<String, String>(originalColumnBindings));
+            }
+        }
         return subColumnBindings;
     }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluator.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluator.java
index 19e9c09b65314b2c2c2ed7ee850ddd836fd87562..79a8428df862ac71530ff00eaa856741d3cd6e66 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluator.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/managed_property/ManagedPropertyEvaluator.java
@@ -85,14 +85,7 @@ public class ManagedPropertyEvaluator
                 names.add(name);
             }
         }
-        if (columnNames.isEmpty())
-        {
-            if (names.contains("") == false)
-            {
-                throw new UserFailureException("No subcolumns expected for property '"
-                        + propertyTypeCode + "': " + names);
-            }
-        } else
+        if (false == columnNames.isEmpty())
         {
             List<String> missingColumns = new ArrayList<String>();
             for (String columnName : columnNames)
diff --git a/plasmid/resource/jython-scripts/MP-plasmid_parents.py b/plasmid/resource/jython-scripts/MP-plasmid_parents.py
index 7ee01194deddf46d33e909da36ddab3e9ee19906..c539c5286e90f16e956bd524433cccc67cabf1b4 100644
--- a/plasmid/resource/jython-scripts/MP-plasmid_parents.py
+++ b/plasmid/resource/jython-scripts/MP-plasmid_parents.py
@@ -184,25 +184,22 @@ Relationship types:
 - MOD: modification
 """
 def updateFromBatchInput(bindings):
-    
-    inputPattern = re.compile(INPUT_PATTERN, re.VERBOSE)
-    input = bindings.get('')
-    print 'input: ' + input
-    plasmids = input.split(',')
     elements = []
-    for p in plasmids:
-        (code, g, relationship, annotation) = _group(inputPattern, p.strip())
-        sampleLink = _createSampleLink(code, relationship, annotation)
-        elements.append(sampleLink)
+    input = bindings.get('')
+    if input is not None:
+        inputPattern = re.compile(INPUT_PATTERN, re.VERBOSE)
+        plasmids = input.split(',')
+        for p in plasmids:
+            (code, g, relationship, annotation) = _group(inputPattern, p.strip())
+            sampleLink = _createSampleLink(code, relationship, annotation)
+            elements.append(sampleLink)
     
     parentsInput = bindings.get(originalColumnNameBindingKey('YEAST_PARENTS'))
     if parentsInput is not None:
         parents = parentsInput.split(',')
         for parent in parents:
-            print 'parent: ' + parent
             permId = entityInformationProvider().getSamplePermId(SPACE, parent)
             parentPlasmids = entityInformationProvider().getSamplePropertyValue(permId, 'PLASMIDS')
-            print parentPlasmids
             parentElements = list(propertyConverter().convertStringToElements(parentPlasmids))
             for parentLink in parentElements:
                 elements.append(parentLink)     
diff --git a/plasmid/resource/jython-scripts/MP-yeast_parents.py b/plasmid/resource/jython-scripts/MP-yeast_parents.py
index 2b7038bcd94117b82a60ae86c2bd9724934415ff..4b40ee4c9211a8056818650cea1112947be7b0a7 100644
--- a/plasmid/resource/jython-scripts/MP-yeast_parents.py
+++ b/plasmid/resource/jython-scripts/MP-yeast_parents.py
@@ -49,12 +49,13 @@ Example input:
 FRY1, FRY2, FRY3, FRY4
 """
 def updateFromBatchInput(bindings):
-    input = bindings.get('')
-    samples = input.split(',')
     elements = []
-    for code in samples:
-        sampleLink = _createSampleLink(code.strip())
-        elements.append(sampleLink)
+    input = bindings.get('')
+    if input is not None:
+        samples = input.split(',')
+        for code in samples:
+            sampleLink = _createSampleLink(code.strip())
+            elements.append(sampleLink)
     property.value = propertyConverter().convertToString(elements)