diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProvider.java
index 9345a681ee5e15abb5c382e8413a2fa7a31bafa5..561a9975a37bd6e5a6712c30722ac66e008256e0 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProvider.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProvider.java
@@ -76,14 +76,21 @@ public class PostgresPlusFileSystemFreeSpaceProvider implements IFreeSpaceProvid
 
     private final DataSource dataSource;
 
-    private final IFreeSpaceProvider fileSystemFreeSpaceProvider = new SimpleFreeSpaceProvider();
+    private final IFreeSpaceProvider fileSystemFreeSpaceProvider;
 
     public PostgresPlusFileSystemFreeSpaceProvider(Properties properties)
     {
-        executeVacuum = PropertyUtils.getBoolean(properties, EXECUTE_VACUUM_KEY, false);
-        
+        this(properties, new SimpleFreeSpaceProvider());
+    }
+
+    PostgresPlusFileSystemFreeSpaceProvider(Properties properties,
+            IFreeSpaceProvider fileSystemFreeSpaceProvider)
+    {
+        this.executeVacuum = PropertyUtils.getBoolean(properties, EXECUTE_VACUUM_KEY, false);
+
         String dataSourceName = PropertyUtils.getMandatoryProperty(properties, DATA_SOURCE_KEY);
-        dataSource = ServiceProvider.getDataSourceProvider().getDataSource(dataSourceName);
+        this.dataSource = ServiceProvider.getDataSourceProvider().getDataSource(dataSourceName);
+        this.fileSystemFreeSpaceProvider = fileSystemFreeSpaceProvider;
     }
 
     public long freeSpaceKb(HostAwareFile path) throws IOException
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProviderTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProviderTest.java
index 77c76990b1b3ff61e856b4be52bf46a915a5eda0..3feb155ffc24cbb6893f5661ac0a7502633acfa3 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProviderTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/utils/PostgresPlusFileSystemFreeSpaceProviderTest.java
@@ -26,7 +26,6 @@ import java.util.Properties;
 
 import javax.sql.DataSource;
 
-import org.apache.commons.io.FileSystemUtils;
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.springframework.beans.factory.BeanFactory;
@@ -36,6 +35,7 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.filesystem.HostAwareFile;
+import ch.systemsx.cisd.common.filesystem.IFreeSpaceProvider;
 import ch.systemsx.cisd.openbis.dss.generic.shared.IDataSourceProvider;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProviderTestWrapper;
 
@@ -50,6 +50,8 @@ public class PostgresPlusFileSystemFreeSpaceProviderTest extends AssertJUnit
     private PostgresPlusFileSystemFreeSpaceProvider provider;
 
     private Mockery context;
+
+    private IFreeSpaceProvider fsFreeSpaceProvider;
     private Connection connection;
 
     private BeanFactory mockApplicationContext;
@@ -97,18 +99,24 @@ public class PostgresPlusFileSystemFreeSpaceProviderTest extends AssertJUnit
         return props;
     }
 
+    private PostgresPlusFileSystemFreeSpaceProvider createProvider(boolean executeVacuum)
+    {
+        Properties props = createProperties(executeVacuum);
+        fsFreeSpaceProvider = context.mock(IFreeSpaceProvider.class);
+        return new PostgresPlusFileSystemFreeSpaceProvider(props, fsFreeSpaceProvider);
+    }
+
     @Test
     public void testNoVacuum() throws Exception
     {
-        Properties props = createProperties(false);
-        provider = new PostgresPlusFileSystemFreeSpaceProvider(props);
+        provider = createProvider(false);
 
         final long postgresFreeSpace = 1000L;
-        prepareFreeSpaceExpectations(postgresFreeSpace);
+        final long fsFreeSpace = 5001L;
+        prepareFreeSpaceExpectations(postgresFreeSpace, fsFreeSpace);
         
         File workDir = new File(".");
         HostAwareFile file = new HostAwareFile(workDir);
-        long fsFreeSpace = FileSystemUtils.freeSpaceKb(workDir.getAbsolutePath());
         long totalFreeSpace = provider.freeSpaceKb(file);
         
         assertEquals(fsFreeSpace + postgresFreeSpace, totalFreeSpace);
@@ -117,16 +125,15 @@ public class PostgresPlusFileSystemFreeSpaceProviderTest extends AssertJUnit
     @Test
     public void testWithVacuum() throws Exception
     {
-        Properties props = createProperties(true);
-        provider = new PostgresPlusFileSystemFreeSpaceProvider(props);
+        provider = createProvider(true);
 
         final long postgresFreeSpace = 1000L;
+        final long fsFreeSpace = 5001L;
         prepareVacuumExpectations();
-        prepareFreeSpaceExpectations(postgresFreeSpace);
+        prepareFreeSpaceExpectations(postgresFreeSpace, fsFreeSpace);
 
         File workDir = new File(".");
         HostAwareFile file = new HostAwareFile(workDir);
-        long fsFreeSpace = FileSystemUtils.freeSpaceKb(workDir.getAbsolutePath());
         long totalFreeSpace = provider.freeSpaceKb(file);
 
         assertEquals(fsFreeSpace + postgresFreeSpace, totalFreeSpace);
@@ -146,7 +153,8 @@ public class PostgresPlusFileSystemFreeSpaceProviderTest extends AssertJUnit
             });
     }
 
-    private void prepareFreeSpaceExpectations(final long freeSpace) throws Exception
+    private void prepareFreeSpaceExpectations(final long freeSpace, final long fsFreeSpace)
+            throws Exception
     {
         context.checking(new Expectations()
             {
@@ -162,6 +170,9 @@ public class PostgresPlusFileSystemFreeSpaceProviderTest extends AssertJUnit
 
                     one(rs).getLong(1);
                     will(returnValue(freeSpace));
+
+                    one(fsFreeSpaceProvider).freeSpaceKb(with(any(HostAwareFile.class)));
+                    will(returnValue(fsFreeSpace));
                 }
             });
     }