diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
index ba0c549122fbe50e6421f12956d4649d76f79ea9..49ca626638c1f9dc49ac798143c6a5c8c244b555 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v1/JythonPlateDatasetFactory.java
@@ -25,9 +25,9 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.IDataSet;
 import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSetRegistrationTransaction;
+import ch.systemsx.cisd.etlserver.registrator.v1.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
 import ch.systemsx.cisd.etlserver.registrator.v1.DataSetRegistrationService;
 import ch.systemsx.cisd.etlserver.registrator.v1.IDataSetRegistrationDetailsFactory;
-import ch.systemsx.cisd.etlserver.registrator.v1.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
 import ch.systemsx.cisd.etlserver.registrator.v1.JythonTopLevelDataSetHandler.ProgrammableDropboxObjectFactory;
 import ch.systemsx.cisd.openbis.dss.etl.PlateGeometryOracle;
 import ch.systemsx.cisd.openbis.dss.etl.dto.api.IFeaturesBuilder;
@@ -190,6 +190,10 @@ public class JythonPlateDatasetFactory extends ProgrammableDropboxObjectFactory<
         featureVectorDataSet.setFeatures(featureDefinitions);
         registrationDetails.setDataSetType(ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE);
         registrationDetails.setMeasuredData(false);
+        if (false == featureVectorDataSet.isValid())
+        {
+            throw new UserFailureException("The feature vector dataset is invalid.");
+        }
         return registrationDetails;
     }
 
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
index 972213024b940ce9f714d300ede92bb6e63895e1..fbafbffbd5e0d6c50a02dd4f9bc7ca796a83eba7 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/etl/jython/v2/JythonPlateDatasetFactory.java
@@ -190,6 +190,10 @@ public class JythonPlateDatasetFactory extends ProgrammableDropboxObjectFactory<
         featureVectorDataSet.setFeatures(featureDefinitions);
         registrationDetails.setDataSetType(ScreeningConstants.DEFAULT_ANALYSIS_WELL_DATASET_TYPE);
         registrationDetails.setMeasuredData(false);
+        if (false == featureVectorDataSet.isValid())
+        {
+            throw new UserFailureException("The feature vector dataset is invalid.");
+        }
         return registrationDetails;
     }