diff --git a/modules/io/src/mol/star_writer.hh b/modules/io/src/mol/star_writer.hh
index b09f2109b438ec7cf0bfe27f0959ff16b35d6761..ea4a396d3a3e4d2163235da3dc00ba305dbf06f9 100644
--- a/modules/io/src/mol/star_writer.hh
+++ b/modules/io/src/mol/star_writer.hh
@@ -204,6 +204,9 @@ public:
   }
 
   virtual void ToStream(std::ostream& s) {
+    if(data_.empty()) {
+      return; // skip loop, including header
+    }
     s << "loop_" << std::endl;
     desc_.ToStream(s);
     int desc_size = desc_.GetSize();