diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JavaTopLevelDataSetHandlerV2.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JavaTopLevelDataSetHandlerV2.java
index 87d9da8e753cddd545eb4f7bcaa119da5a27560e..9f63be5ef5672fa3aa42fa9533b8da34b7360d13 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JavaTopLevelDataSetHandlerV2.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v2/JavaTopLevelDataSetHandlerV2.java
@@ -42,6 +42,10 @@ public class JavaTopLevelDataSetHandlerV2<T extends DataSetInformation> extends
 
     private Class<? extends IJavaDataSetRegistrationDropboxV2> programClass;
 
+    private String className;
+
+    private String dropboxName;
+
     /**
      * @param globalState
      */
@@ -50,12 +54,14 @@ public class JavaTopLevelDataSetHandlerV2<T extends DataSetInformation> extends
     {
         super(globalState);
 
-        String className =
+        className =
                 PropertyUtils.getMandatoryProperty(globalState.getThreadParameters()
                         .getThreadProperties(), PROGRAM_CLASS_KEY);
 
+        dropboxName = globalState.getThreadParameters().getThreadName();
+
         PluginContainer container =
-                PluginContainer.tryGetInstance(globalState.getThreadParameters().getThreadName());
+                PluginContainer.tryGetInstance(dropboxName);
 
         if (container != null)
         {
@@ -160,6 +166,22 @@ public class JavaTopLevelDataSetHandlerV2<T extends DataSetInformation> extends
     {
         try
         {
+
+            PluginContainer container =
+                    PluginContainer.tryGetInstance(dropboxName);
+
+            if (container != null)
+            {
+                @SuppressWarnings("unchecked")
+                Class<? extends IJavaDataSetRegistrationDropboxV2> clazz =
+                        (Class<? extends IJavaDataSetRegistrationDropboxV2>) container
+                                .tryGetPluginClassByClassname(className);
+                if (clazz != null)
+                {
+                    return clazz.newInstance();
+                }
+            }
+
             return programClass.newInstance();
         } catch (InstantiationException ex)
         {