diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetService.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetService.java
index 3eec8d184b56806924243b0acc1de94070627507..849baa5468ef09c71daea18a3005a6c9a91b8379 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/api/v1/PutDataSetService.java
@@ -51,6 +51,8 @@ public class PutDataSetService
 
     private final DataStrategyStore dataStrategyStore;
 
+    private boolean isInitialized = false;
+
     private MailClient mailClient;
 
     private IETLServerPlugin plugin;
@@ -62,15 +64,6 @@ public class PutDataSetService
         this.openBisService = openBisService;
         this.operationLog = operationLog;
 
-        // PutDataSetServiceInitializer initializer = new PutDataSetServiceInitializer();
-        //
-        // incomingDir = initializer.getIncomingDir();
-        // incomingDir.mkdir();
-        //
-        // plugin = initializer.getPlugin();
-        //
-        // mailClient = new MailClient(initializer.getMailProperties());
-
         this.registrationLock = new ReentrantLock();
 
         this.dataStrategyStore = new DataStrategyStore(this.openBisService, mailClient);
@@ -79,6 +72,11 @@ public class PutDataSetService
     public void putDataSet(String sessionToken, NewDataSetDTO newDataSet, InputStream inputStream)
             throws IOExceptionUnchecked, IllegalArgumentException
     {
+        if (false == isInitialized)
+        {
+            doInitialization();
+        }
+
         try
         {
             new PutDataSetExecutor(this, plugin, sessionToken, newDataSet, inputStream).execute();
@@ -102,6 +100,20 @@ public class PutDataSetService
         }
     }
 
+    private void doInitialization()
+    {
+        PutDataSetServiceInitializer initializer = new PutDataSetServiceInitializer();
+
+        incomingDir = initializer.getIncomingDir();
+        incomingDir.mkdir();
+
+        plugin = initializer.getPlugin();
+
+        mailClient = new MailClient(initializer.getMailProperties());
+
+        isInitialized = true;
+    }
+
     IEncapsulatedOpenBISService getOpenBisService()
     {
         return openBisService;