diff --git a/src/xml/xml_native_writer.cc b/src/xml/xml_native_writer.cc
index de2aef96..1b82b9fb 100644
--- a/src/xml/xml_native_writer.cc
+++ b/src/xml/xml_native_writer.cc
@@ -1595,7 +1595,8 @@ XMLElement* mjXWriter::OneFrame(XMLElement* elem, mjCFrame* frame) {
return elem;
}
- if (frame->name.empty() && frame->classname.empty()) {
+ // TODO: empty classname should not occur (but does)
+ if (frame->name.empty() && (frame->classname.empty() || frame->classname == "main")) {
return elem;
}
diff --git a/test/xml/xml_native_writer_test.cc b/test/xml/xml_native_writer_test.cc
index 2ad13bc7..6876245a 100644
--- a/test/xml/xml_native_writer_test.cc
+++ b/test/xml/xml_native_writer_test.cc
@@ -762,7 +762,7 @@ TEST_F(XMLWriterTest, WritesFrameDefaults) {