...
diff --git a/coders/svg.c b/coders/svg.c
index 66f78a6..4ac2bf1 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -1076,6 +1076,16 @@
         }
       break;
     }
+    case 'M':
+    case 'm':
+    {
+      if (LocaleCompare((const char *) name,"mask") == 0)
+        {
+          (void) FormatLocaleFile(svg_info->file,"push mask \"%s\"\n",id);
+          break;
+        }
+      break;
+    }
     case 'P':
     case 'p':
     {
@@ -1549,6 +1559,11 @@
                 GetUserSpaceCoordinateValue(svg_info,1,value);
               break;
             }
+          if (LocaleCompare(keyword,"mask") == 0)
+            {
+              (void) FormatLocaleFile(svg_info->file,"mask \"%s\"\n",value);
+              break;
+            }
           if (LocaleCompare(keyword,"minor") == 0)
             {
               svg_info->element.minor=
@@ -2447,6 +2462,16 @@
         }
       break;
     }
+    case 'M':
+    case 'm':
+    {
+      if (LocaleCompare((const char *) name,"mask") == 0)
+        {
+          (void) FormatLocaleFile(svg_info->file,"pop mask\n");
+          break;
+        }
+      break;
+    }
     case 'P':
     case 'p':
     {