diff --git a/src/parser.cc b/src/parser.cc
index eaff2a603..b94d08222 100644
--- a/src/parser.cc
+++ b/src/parser.cc
@@ -1285,6 +1285,7 @@ void addNestedModel(ElementPtr _sdf, ElementPtr _includeSDF, Errors &_errors)
while (elem)
{
if ((elem->GetName() == "link") ||
+ (elem->GetName() == "model") ||
(elem->GetName() == "joint") ||
(elem->GetName() == "frame"))
{
@@ -1293,7 +1294,7 @@ void addNestedModel(ElementPtr _sdf, ElementPtr _includeSDF, Errors &_errors)
replace[elemName] = newName;
}
- if ((elem->GetName() == "link"))
+ if ((elem->GetName() == "link") || (elem->GetName() == "model"))
{
// Add a pose element even if the element doesn't originally have one
auto elemPose = elem->GetElement("pose");
diff --git a/test/integration/model/test_model_with_frames/model.sdf b/test/integration/model/test_model_with_frames/model.sdf
index f085ec4b8..b34e0375c 100644
--- a/test/integration/model/test_model_with_frames/model.sdf
+++ b/test/integration/model/test_model_with_frames/model.sdf
@@ -59,5 +59,11 @@
L3
L4
+
+ 1 0 0 0 0 0
+
+ 1 0 0 0 0 0
+
+
diff --git a/test/integration/nested_model_with_frames_expected.sdf b/test/integration/nested_model_with_frames_expected.sdf
index 6e3f1dcbe..2385f000f 100644
--- a/test/integration/nested_model_with_frames_expected.sdf
+++ b/test/integration/nested_model_with_frames_expected.sdf
@@ -63,6 +63,12 @@
M1::L3
M1::L4
+
+ 1 0 0 0 -0 0
+
+ 1 0 0 0 -0 0
+
+
diff --git a/test/integration/two_level_nested_model_with_frames_expected.sdf b/test/integration/two_level_nested_model_with_frames_expected.sdf
index f96fae7ba..807fa6d6c 100644
--- a/test/integration/two_level_nested_model_with_frames_expected.sdf
+++ b/test/integration/two_level_nested_model_with_frames_expected.sdf
@@ -66,6 +66,12 @@
M1::test_model_with_frames::L3
M1::test_model_with_frames::L4
+
+ 1 0 0 0 -0 0
+
+ 1 0 0 0 -0 0
+
+