diff --git a/common/source/java/ch/systemsx/cisd/common/filesystem/QueueingPathRemoverService.java b/common/source/java/ch/systemsx/cisd/common/filesystem/QueueingPathRemoverService.java
index 208fb66b8fd2fc73bf90e5188b98021f177ff8a6..00bc33f621ca0859665b4f205f1b251613cbb91c 100644
--- a/common/source/java/ch/systemsx/cisd/common/filesystem/QueueingPathRemoverService.java
+++ b/common/source/java/ch/systemsx/cisd/common/filesystem/QueueingPathRemoverService.java
@@ -51,8 +51,8 @@ import ch.systemsx.cisd.common.logging.LogFactory;
 public class QueueingPathRemoverService
 {
 
-    private final static Logger operationLog =
-            LogFactory.getLogger(LogCategory.OPERATION, QueueingPathRemoverService.class);
+    private final static Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION,
+            QueueingPathRemoverService.class);
 
     private static final int INITIAL_RECORD_SIZE = 128;
 
@@ -149,6 +149,12 @@ public class QueueingPathRemoverService
      */
     public static boolean removeRecursively(File fileToRemove)
     {
+        if (isRunning() == false)
+        {
+            throw new IllegalStateException(
+                    "Cannot remove the file because the shreder is already stopped: "
+                            + fileToRemove);
+        }
         if (fileToRemove.isFile())
         {
             return fileToRemove.delete();