diff --git a/reanimate-svg.cabal b/reanimate-svg.cabal
--- a/reanimate-svg.cabal
+++ b/reanimate-svg.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                reanimate-svg
-version:             0.12.1.0
+version:             0.12.2.0
 synopsis:            SVG file loader and serializer
 description:
   reanimate-svg provides types representing a SVG document,
diff --git a/src/Graphics/SvgTree/XmlParser.hs b/src/Graphics/SvgTree/XmlParser.hs
--- a/src/Graphics/SvgTree/XmlParser.hs
+++ b/src/Graphics/SvgTree/XmlParser.hs
@@ -1484,11 +1484,14 @@
   _         -> FENone
 
 unparseFE :: X.Element -> FilterElement
-unparseFE e@(nodeName -> "feMerge") =
-    FEMerge $ xmlUnparseWithDrawAttr e & mergeChildren .~ map unparseMergeNode (elChildren e)
-unparseFE e@(nodeName -> "feComponentTransfer") =
-    FEComponentTransfer $ xmlUnparseWithDrawAttr e & compTransferChildren .~ map unparseFunc (elChildren e)
-unparseFE e = case nodeName e of
+unparseFE e = flip xmlUpdate e $
+  case nodeName e of
+    "feMerge" ->
+      FEMerge $ xmlUnparseWithDrawAttr e
+        & mergeChildren .~ map unparseMergeNode (elChildren e)
+    "feComponentTransfer" ->
+      FEComponentTransfer $ xmlUnparseWithDrawAttr e
+        & compTransferChildren .~ map unparseFunc (elChildren e)
     "feBlend"            -> FEBlend parsed
     "feColorMatrix"      -> FEColorMatrix parsed
     "feComposite"        -> FEComposite parsed
