diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
index 13eeea08eda401ee40919304377261b524a0cb7b..01a9bcd64267c4cc503730bc00a3dc0c08af0a11 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/BDSStorageProcessor.java
@@ -514,7 +514,7 @@ public final class BDSStorageProcessor extends AbstractStorageProcessor
 
         private final void unstoreData()
         {
-            checkParameters(incomingDataSetDirectory, storedDataDirectory);
+            checkParameters(incomingDataSetDirectory, dataStructureDir);
 
             if (dataStructure == null)
             {
@@ -549,9 +549,10 @@ public final class BDSStorageProcessor extends AbstractStorageProcessor
             final IFileOperations fileOps = FileOperations.getMonitoredInstanceForCurrentThread();
             if (fileOps.exists(incomingDataSetDirectory))
             {
-                if (fileOps.removeRecursivelyQueueing(storedDataDirectory) == false)
+                if (dataStructureDir != null
+                        && fileOps.removeRecursivelyQueueing(dataStructureDir) == false)
                 {
-                    operationLog.error("Cannot delete '" + storedDataDirectory.getAbsolutePath()
+                    operationLog.error("Cannot delete '" + dataStructureDir.getAbsolutePath()
                             + "'.");
                 }
             } else