diff --git a/reanimate-svg.cabal b/reanimate-svg.cabal
--- a/reanimate-svg.cabal
+++ b/reanimate-svg.cabal
@@ -1,5 +1,5 @@
 name:                reanimate-svg
-version:             0.9.0.1
+version:             0.9.0.2
 synopsis:            SVG file loader and serializer
 description:
   reanimate-svg provides types representing a SVG document,
diff --git a/src/Graphics/SvgTree/Printer.hs b/src/Graphics/SvgTree/Printer.hs
--- a/src/Graphics/SvgTree/Printer.hs
+++ b/src/Graphics/SvgTree/Printer.hs
@@ -41,12 +41,14 @@
 treeChildren _                  = []
 
 ppElementS_         :: [Tree] -> Element -> ShowS
+ppElementS_ [] e xs | not (null (elContent e)) = ppElement e ++ xs
 ppElementS_ children e xs = tagStart name (elAttribs e) $
   case children of
     [] | "?" `isPrefixOf` qName name -> showString " ?>" xs
-       | True  -> showString " />" xs
+       | otherwise                   -> showString " />" xs
     _ -> showChar '>' (foldr ppTreeS (tagEnd name xs) children)
-  where name = elName e
+  where
+    name = elName e
 
 --------------------------------------------------------------------------------
 tagStart           :: QName -> [Attr] -> ShowS
