diff --git a/src/xml/xml_native_writer.cc b/src/xml/xml_native_writer.cc
index 1b55e4dd..9d0926c2 100644
--- a/src/xml/xml_native_writer.cc
+++ b/src/xml/xml_native_writer.cc
@@ -1559,6 +1559,12 @@ void mjXWriter::Sensor(XMLElement* root) {
WriteAttr(elem, "cutoff", 1, &psen->cutoff, &zero);
WriteAttr(elem, "noise", 1, &psen->noise, &zero);
WriteVector(elem, "user", psen->userdata);
+
+ // add reference if present
+ if (psen->reftype > 0) {
+ WriteAttrTxt(elem, "reftype", mju_type2Str(psen->reftype));
+ WriteAttrTxt(elem, "refname", psen->refname);
+ }
}
// remove section if empty
diff --git a/test/testdata/model.xml b/test/testdata/model.xml
index fbf9d079..52913b50 100644
--- a/test/testdata/model.xml
+++ b/test/testdata/model.xml
@@ -121,7 +121,7 @@
-
+