diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
index 1349b6cd7f075ac0c6af67f3ec2fd10c9c402b81..d39fdd8c8df26631d486be081abd54430690b5d9 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java
@@ -96,11 +96,7 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic
         this.commandExecutorFactory = commandExecutorFactory;
         this.mailClientParameters = mailClientParameters;
         this.pluginTaskParameters = pluginTaskParameters;
-    }
-
-    public final void setStoreRoot(File storeRoot)
-    {
-        this.storeRoot = storeRoot;
+        storeRoot = pluginTaskParameters.getStoreRoot();
     }
 
     public final void setCommandQueueDir(String queueDirOrNull)
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java
index d1950105fc2c011b9acda20ededc4f14976979dc..69358745be985d4849056fb4b6cdc95e1a198c1a 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/PluginTaskProviders.java
@@ -30,6 +30,8 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.DatastoreServiceDescriptions;
  */
 public class PluginTaskProviders
 {
+    public static final String STOREROOT_DIR_KEY = "storeroot-dir";
+
     /** property with repotring plugins names separated by delimiter */
     @Private
     static final String REPORTING_PLUGIN_NAMES = "reporting-plugins";
@@ -48,10 +50,14 @@ public class PluginTaskProviders
 
     private final ArchiverTaskFactory archiverTaskFactory;
 
+    private final File storeRoot;
+
     /** for external injections */
-    public static PluginTaskProviders create(File storeRoot)
+    public static PluginTaskProviders create()
     {
         Properties properties = DssPropertyParametersUtil.loadServiceProperties();
+        String property = properties.getProperty(STOREROOT_DIR_KEY);
+        File storeRoot = new File(property);
         PluginTaskProviders providers = new PluginTaskProviders(properties, storeRoot);
         providers.check();
         providers.logConfigurations();
@@ -62,6 +68,7 @@ public class PluginTaskProviders
     // public only for tests
     public PluginTaskProviders(Properties serviceProperties, File storeRoot)
     {
+        this.storeRoot = storeRoot;
         String datastoreCode = DssPropertyParametersUtil.getDataStoreCode(serviceProperties);
         this.reportingPlugins =
                 createReportingPluginsFactories(serviceProperties, datastoreCode, storeRoot);
@@ -70,6 +77,11 @@ public class PluginTaskProviders
         this.archiverTaskFactory = createArchiverTaskFactory(serviceProperties, datastoreCode);
     }
 
+    public final File getStoreRoot()
+    {
+        return storeRoot;
+    }
+
     public PluginTaskProvider<IReportingPluginTask> getReportingPluginsProvider()
     {
         return reportingPlugins;
diff --git a/datastore_server/source/java/dssApplicationContext.xml b/datastore_server/source/java/dssApplicationContext.xml
index da1a7d4a417224f1e0081409a675ddf7e89c90bf..e568a86b18b7ce9f562372aa3b7231d9fa72f1d0 100644
--- a/datastore_server/source/java/dssApplicationContext.xml
+++ b/datastore_server/source/java/dssApplicationContext.xml
@@ -17,10 +17,9 @@
         <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
         <property name="ignoreUnresolvablePlaceholders" value="true" />
     </bean>
-    
-    <bean id="plugin-tasks" class="ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProviders" factory-method="create" >
-      <constructor-arg value="${storeroot-dir}" />
-    </bean>
+
+  <bean id="plugin-tasks" class="ch.systemsx.cisd.openbis.dss.generic.server.plugins.tasks.PluginTaskProviders"
+        factory-method="create" />
 
     <bean id="openBIS-service" class="ch.systemsx.cisd.openbis.dss.generic.server.EncapsulatedOpenBISService">
         <constructor-arg ref="session-token-manager"/>
@@ -50,7 +49,6 @@
                 <constructor-arg ref="plugin-tasks" />
                 <property name="cifexAdminUserOrNull" value="${cifex-admin-username}" />
                 <property name="cifexAdminPasswordOrNull" value="${cifex-admin-password}" />
-                <property name="storeRoot" value="${storeroot-dir}"/>
                 <property name="commandQueueDir" value="${commandqueue-dir}"/>
             </bean>
         </property>
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java
index 2ca94255804c49a3d7f7930af9f6b4f4d78ec776..32dc33cc3b40489703d6eebde1c920365365833b 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreServiceTest.java
@@ -294,7 +294,6 @@ public class DataStoreServiceTest extends AssertJUnit
         MockDataStoreService service =
                 new MockDataStoreService(sessionTokenManager, commandExecutorFactory,
                         mailClientParameters, cifexServiceFactory, CIFEX_URL, pluginTaskParameters);
-        service.setStoreRoot(TEST_STORE);
         service.afterPropertiesSet();
         return service;
     }