diff --git a/src/user/user_objects.cc b/src/user/user_objects.cc
index 8796910d..fd3064f3 100644
--- a/src/user/user_objects.cc
+++ b/src/user/user_objects.cc
@@ -3102,6 +3102,15 @@ void mjCSite::CopyFromSpec() {
+void mjCSite::NameSpace(const mjCModel* m) {
+ mjCBase::NameSpace(m);
+ if (!spec_material_.empty() && model != m) {
+ spec_material_ = m->prefix + spec_material_ + m->suffix;
+ }
+}
+
+
+
// compiler
void mjCSite::Compile(void) {
CopyFromSpec();
diff --git a/src/user/user_objects.h b/src/user/user_objects.h
index 5b031d6b..3238f1ff 100644
--- a/src/user/user_objects.h
+++ b/src/user/user_objects.h
@@ -615,6 +615,7 @@ class mjCSite : public mjCSite_, private mjsSite {
void Compile(void); // compiler
void CopyFromSpec(); // copy spec into attributes
void PointToLocal(void);
+ void NameSpace(const mjCModel* m);
};
diff --git a/test/user/user_api_test.cc b/test/user/user_api_test.cc
index 9646923d..b50b703d 100644
--- a/test/user/user_api_test.cc
+++ b/test/user/user_api_test.cc
@@ -731,7 +731,7 @@ static constexpr char xml_child[] = R"(
-
+