diff --git a/catalogue/TapeFileWritten.cpp b/catalogue/TapeFileWritten.cpp
index bbfd77637de730069b8d64d4b8fdcdd984b45c7d..eccfc7e9bcd198cb22fdf3edbdb6ac70eef396a0 100644
--- a/catalogue/TapeFileWritten.cpp
+++ b/catalogue/TapeFileWritten.cpp
@@ -61,7 +61,7 @@ bool TapeFileWritten::operator==(const TapeFileWritten &rhs) const {
 // operator<
 //------------------------------------------------------------------------------
 bool TapeFileWritten::operator<(const TapeFileWritten &rhs) const {
-  return archiveFileId < rhs.archiveFileId;
+  return fSeq < rhs.fSeq;
 }
 
 //------------------------------------------------------------------------------
diff --git a/catalogue/TapeFileWritten.hpp b/catalogue/TapeFileWritten.hpp
index 3ddfbcd6cadf28e3c6fa48277cc80e24f09d3466..1c441b7cfd7249a19b4d4e61f8ed9be470330477 100644
--- a/catalogue/TapeFileWritten.hpp
+++ b/catalogue/TapeFileWritten.hpp
@@ -48,13 +48,13 @@ struct TapeFileWritten {
   /**
    * Less than operator.
    *
-   * TapeFileWritten events are ordered by their archiveFileId member variable.
+   * TapeFileWritten events are ordered by their tape file sequence number.
    *
    * TapeFileWritten events are written to the catalogue database in batches in
    * order to improve performance by reducing the number of network round trips
-   * to the database.   Thse batches are implemented using sorted containers in
-   * order to avoid deadlocks when two or more batches of overlapping events are
-   * concurrently written to the database.
+   * to the database.  Each batch is ordered by tape file sequence number so
+   * that the CTA catalogue code can easily assert that files that are written
+   * to tape are reported correctly.
    *
    * @param rhs The right hand side of the operator.
    */