--- a/bon_file.cpp
+++ b/bon_file.cpp
@@ -469,25 +469,37 @@ int COpenTest::delete_sequential(BonTime
     }
     if(m_number_directories != 1)
     {
-      if(chdir("..") || rmdir(buf))
+      if(chdir(".."))
       {
+        io_error("chdir");
+        return -1;
+      }
+      if(rmdir(buf))
+      {
+        fprintf(stderr, "Unable to delete directory '%s'\n", buf);
         io_error("rmdir");
         return -1;
       }
     }
   }
-  if(chdir("..") || rmdir(m_dirname))
+  if(count != m_number)
   {
-    io_error("rmdir");
+    fprintf(stderr, "Expected %d files but only got %d\n", m_number, count);
     return -1;
   }
-  delete m_dirname;
-  m_dirname = NULL;
-  if(count != m_number)
+  if(chdir(".."))
   {
-    fprintf(stderr, "Expected %d files but only got %d\n", m_number, count);
+    io_error("chdir");
+    return -1;
+  }
+  if(rmdir(m_dirname))
+  {
+    fprintf(stderr, "Unable to delete directory '%s'\n", m_dirname);
+    io_error("rmdir");
     return -1;
   }
+  delete m_dirname;
+  m_dirname = NULL;
   sync();
   timer.stop_and_record(DelSeq);
   timer.add_latency(DelSeq, dur.getMax());
