diff --git a/rsvg-base.c b/rsvg-base.c
index 6ebed89..ab01b2a 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -351,10 +351,14 @@ static const NodeCreator node_creators[] = {
     /* "vkern",              FALSE, */
 };
 
-/* hack for bug 401115. whenever we encounter a node we don't understand, push it into a group.
+/* hack for bug 401115. whenever we encounter a node we don't understand, push it into a defs.
+ * This is like a group, but it doesn't do any rendering of children.  The effect is that
+ * we will ignore all children of unknown elements.
  * this will allow us to handle things like conditionals properly.
+ *
+ * See also https://bugzilla.gnome.org/show_bug.cgi?id=634514
  */
-static const NodeCreator default_node_creator = { NULL, TRUE, rsvg_node_group_new };
+static const NodeCreator default_node_creator = { NULL, TRUE, rsvg_node_defs_new };
 
 /* Used from bsearch() */
 static int
