diff --git a/rsvg-base.c b/rsvg-base.c
index b1a2d8b..b72b420 100644
--- a/rsvg-base.c
+++ b/rsvg-base.c
@@ -753,6 +753,9 @@ rsvg_characters_impl (RsvgHandle * ctx, const xmlChar * ch, int len)
                 if (RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_CHARS) {
                     self = (RsvgNodeChars*)node;
                 }
+                else if (RSVG_NODE_TYPE (node) == RSVG_NODE_TYPE_TSPAN) {
+                    self = NULL;
+                }
             }
 
             if (self != NULL) {
