diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java
index 40f88113b798a8b9a3b3ddc199d4d0971973c1e7..180c98988619cc40ac7ad12abe47f602f527f446 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStack.java
@@ -20,6 +20,8 @@ import java.io.File;
 import java.io.Serializable;
 import java.util.Queue;
 
+import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.commons.lang.builder.ToStringStyle;
 import org.apache.log4j.Logger;
 
 import ch.systemsx.cisd.common.collections.ExtendedBlockingQueueFactory;
@@ -241,6 +243,13 @@ class RollbackStack
                 return 0;
             }
         }
+
+        @Override
+        public String toString()
+        {
+            return "StackElement [command=" + command + ", order=" + order + "]";
+        }
+
     }
 
     /**
@@ -266,7 +275,9 @@ class RollbackStack
     @Override
     public String toString()
     {
-        return "RollbackStack [liveLifo=" + liveLifo.toArray() + "]";
+        ToStringBuilder sb = new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE);
+        sb.append(liveLifo.toArray());
+        return sb.toString();
     }
 
     /**
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java
index 5823492e14ac280ef9033058f07da67d6f62266f..7636ae94f2b0366d51a4bbe2a2586fe7828b3208 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/FileCommandsTest.java
@@ -23,6 +23,7 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
+import ch.systemsx.cisd.common.logging.BufferedAppender;
 
 /**
  * @author Chandrasekhar Ramakrishnan
@@ -47,6 +48,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack
 
     private MoveFileCommand mvNewFile;
 
+    private BufferedAppender logAppender;
+
     @BeforeMethod
     @Override
     public void setUp() throws IOException
@@ -71,6 +74,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack
         mvNewFile =
                 new MoveFileCommand(dstDir.getAbsolutePath(), newFile.getName(),
                         dstDir.getAbsolutePath(), newNewFile.getName());
+
+        logAppender = new BufferedAppender();
     }
 
     @Test
@@ -108,6 +113,8 @@ public class FileCommandsTest extends AbstractTestWithRollbackStack
         assertTrue("The file should have been deleted", false == dstFile.exists());
         assertTrue("The directory should have been deleted", false == dstDir.exists());
         checkContentsOfFile(srcFile);
+
+        assertTrue(logAppender.getLogContent().length() > 0);
     }
 
     @Test
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java
index d23be21217811126816a29769d7421ad7765c9c8..1e30e837830e7a72246300a48f1539eaeb9ce321 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/registrator/api/v1/impl/RollbackStackTest.java
@@ -37,6 +37,10 @@ public class RollbackStackTest extends AbstractTestWithRollbackStack
         assertEquals(TrackingCommandStatus.EXECUTED, cmd1.status);
         assertEquals(TrackingCommandStatus.EXECUTED, cmd2.status);
 
+        assertEquals(
+                "RollbackStack[{StackElement [command=TrackingCommand [status=EXECUTED], order=0],StackElement [command=TrackingCommand [status=EXECUTED], order=1]}]",
+                rollbackStack.toString());
+
         // Rollback and check that the rollback occurred correctly
         rollbackStack.rollbackAll();
         assertEquals(TrackingCommandStatus.ROLLEDBACK, cmd1.status);
@@ -236,6 +240,13 @@ public class RollbackStackTest extends AbstractTestWithRollbackStack
                             : true;
             ++rollbackCount;
         }
+
+        @Override
+        public String toString()
+        {
+            return "TrackingCommand [status=" + status + "]";
+        }
+
     }
 
     private static class EqualityTrackingCommand extends TrackingCommand