diff --git a/data/schema/scene.xsd b/data/schema/scene.xsd
index dc08ae8f..1a073b82 100644
--- a/data/schema/scene.xsd
+++ b/data/schema/scene.xsd
@@ -7,6 +7,7 @@
+
diff --git a/src/librender/scene.cpp b/src/librender/scene.cpp
index cba1735c..371f76b8 100644
--- a/src/librender/scene.cpp
+++ b/src/librender/scene.cpp
@@ -476,6 +476,7 @@ void Scene::addChild(const std::string &name, ConfigurableObject *child) {
m_integrator = static_cast(child);
} else if (cClass->derivesFrom(MTS_CLASS(Texture))
|| cClass->derivesFrom(MTS_CLASS(BSDF))
+ || cClass->derivesFrom(MTS_CLASS(Subsurface))
|| cClass->derivesFrom(MTS_CLASS(PhaseFunction))) {
m_objects.push_back(static_cast(child));
} else if (cClass->derivesFrom(MTS_CLASS(Medium))) {