diff --git a/tests/importer/model_flattening.cpp b/tests/importer/model_flattening.cpp
index f0e25d902b..59cedc613b 100644
--- a/tests/importer/model_flattening.cpp
+++ b/tests/importer/model_flattening.cpp
@@ -1940,3 +1940,58 @@ TEST(ModelFlattening, multiLayeredImportOfNonStandardUnits)
EXPECT_NE(nullptr, flattenModel);
}
+
+TEST(ModelFlattening, nestedImportOfUnitsWithNonStandardChildren)
+{
+ const std::string e =
+ "\n"
+ "\n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ " \n"
+ "\n";
+
+ auto parser = libcellml::Parser::create();
+ auto model = parser->parseModel(fileContents("modelflattening/nestedimportofunits.xml"));
+ auto importer = libcellml::Importer::create();
+
+ EXPECT_TRUE(model->hasUnresolvedImports());
+ importer->resolveImports(model, resourcePath("modelflattening/"));
+ EXPECT_FALSE(model->hasUnresolvedImports());
+
+ model = importer->flattenModel(model);
+ EXPECT_EQ(size_t(0), importer->issueCount());
+
+ EXPECT_FALSE(model->hasUnits("rate_1"));
+
+ auto printer = libcellml::Printer::create();
+
+ auto a = printer->printModel(model);
+ EXPECT_EQ(e, a);
+}
diff --git a/tests/resources/modelflattening/import_for_import_for_nestedimportofunits.xml b/tests/resources/modelflattening/import_for_import_for_nestedimportofunits.xml
new file mode 100644
index 0000000000..3c3d5d2792
--- /dev/null
+++ b/tests/resources/modelflattening/import_for_import_for_nestedimportofunits.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/resources/modelflattening/import_for_nestedimportofunits.xml b/tests/resources/modelflattening/import_for_nestedimportofunits.xml
new file mode 100644
index 0000000000..2fe8ebbec9
--- /dev/null
+++ b/tests/resources/modelflattening/import_for_nestedimportofunits.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/resources/modelflattening/nestedimportofunits.xml b/tests/resources/modelflattening/nestedimportofunits.xml
new file mode 100644
index 0000000000..644b5dfa65
--- /dev/null
+++ b/tests/resources/modelflattening/nestedimportofunits.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/tests/resources/modelflattening/units_for_nestedimportofunits.xml b/tests/resources/modelflattening/units_for_nestedimportofunits.xml
new file mode 100644
index 0000000000..aa72bc4633
--- /dev/null
+++ b/tests/resources/modelflattening/units_for_nestedimportofunits.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+