diff -Npur librsvg-old/rsvg-base.c librsvg-new/rsvg-base.c
--- librsvg-old/rsvg-base.c	2012-11-16 15:43:37.398881493 +0800
+++ librsvg-new/rsvg-base.c	2012-11-16 15:46:15.349258962 +0800
@@ -138,9 +138,17 @@ static void
 rsvg_start_style (RsvgHandle * ctx, RsvgPropertyBag *atts)
 {
     RsvgSaxHandlerStyle *handler = g_new0 (RsvgSaxHandlerStyle, 1);
+    RsvgNodeSvg *root = NULL;
+    RsvgPropertyBag *root_atts = NULL;
+
     const char *type;
 
     type = rsvg_property_bag_lookup (atts, "type");
+    if (!type) {
+        root = (RsvgNodeSvg *) ctx->priv->treebase;
+        root_atts = root->atts;
+        type = rsvg_property_bag_lookup (root_atts, "contentStyleType");
+    }
 
     handler->super.free = rsvg_style_handler_free;
     handler->super.characters = rsvg_style_handler_characters;
@@ -149,7 +157,7 @@ rsvg_start_style (RsvgHandle * ctx, Rsvg
     handler->ctx = ctx;
 
     handler->style = g_string_new (NULL);
-    handler->is_text_css = type && g_ascii_strcasecmp (type, "text/css") == 0;
+    handler->is_text_css = !type || g_ascii_strcasecmp (type, "text/css") == 0;
 
     handler->parent = (RsvgSaxHandlerDefs *) ctx->priv->handler;
     ctx->priv->handler = &handler->super;
