diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedDbModifyingAggregationServiceReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedDbModifyingAggregationServiceReportingPlugin.java
index 954909fb83338c0cb17d9589d5d099a6b9bcadeb..a62307a6859655616d76abf5945f62fafd62bd93 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedDbModifyingAggregationServiceReportingPlugin.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/plugins/jython/ScreeningJythonBasedDbModifyingAggregationServiceReportingPlugin.java
@@ -19,8 +19,19 @@ package ch.systemsx.cisd.openbis.dss.screening.server.plugins.jython;
 import java.io.File;
 import java.util.Properties;
 
+import ch.systemsx.cisd.common.utilities.IDelegatedActionWithResult;
+import ch.systemsx.cisd.etlserver.registrator.AbstractOmniscientTopLevelDataSetRegistrator.NoOpDelegate;
+import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.DataSetRegistrationTransaction;
+import ch.systemsx.cisd.etlserver.registrator.recovery.AutoRecoverySettings;
+import ch.systemsx.cisd.etlserver.registrator.DataSetFile;
+import ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationService;
+import ch.systemsx.cisd.etlserver.registrator.IDataSetRegistrationDetailsFactory;
+import ch.systemsx.cisd.openbis.dss.etl.jython.ImagingDataSetRegistrationTransaction;
+import ch.systemsx.cisd.openbis.dss.etl.jython.JythonPlateDataSetHandlerUtils;
+import ch.systemsx.cisd.openbis.dss.etl.jython.JythonPlateDatasetFactory;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.IPluginScriptRunnerFactory;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.jython.JythonBasedDbModifyingAggregationServiceReportingPlugin;
+import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
 
 /**
  * A version of the {@link JythonBasedDbModifyingAggregationServiceReportingPlugin} with extra
@@ -52,4 +63,35 @@ public class ScreeningJythonBasedDbModifyingAggregationServiceReportingPlugin ex
     {
         super(properties, storeRoot, scriptRunnerFactory);
     }
+
+    @Override
+    protected DataSetRegistrationService<DataSetInformation> createRegistrationService(
+            DataSetFile incoming, IDelegatedActionWithResult<Boolean> cleanUpAction,
+            NoOpDelegate delegate)
+    {
+        IDataSetRegistrationDetailsFactory<DataSetInformation> registrationDetailsFactory =
+                (IDataSetRegistrationDetailsFactory<DataSetInformation>) new JythonPlateDatasetFactory(
+                        getRegistratorState(), null);
+
+        DataSetRegistrationService<DataSetInformation> service =
+                new DataSetRegistrationService<DataSetInformation>(this, incoming,
+                        registrationDetailsFactory, cleanUpAction, delegate)
+                    {
+                        @SuppressWarnings("unchecked")
+                        @Override
+                        protected DataSetRegistrationTransaction<DataSetInformation> createTransaction(
+                                File rollBackStackParentFolder,
+                                File workingDirectory,
+                                File stagingDirectory,
+                                IDataSetRegistrationDetailsFactory<DataSetInformation> factory)
+                        {
+                            return new ImagingDataSetRegistrationTransaction(
+                                    rollBackStackParentFolder, workingDirectory, stagingDirectory,
+                                    this, factory,
+                                    JythonPlateDataSetHandlerUtils.parseOriginalDir(properties),
+                                    AutoRecoverySettings.DO_NOT_USE_AUTO_RECOVERY);
+                        }
+                    };
+        return service;
+    }
 }