diff --git a/MagickCore/image.c b/MagickCore/image.c
index 4a359a8..ec52127 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -200,9 +200,6 @@
     exception);
   (void) QueryColorCompliance(TransparentColor,AllCompliance,
     &image->transparent_color,exception);
-  image->resolution.x=DefaultResolution;
-  image->resolution.y=DefaultResolution;
-  image->units=PixelsPerInchResolution;
   GetTimerInfo(&image->timer);
   image->cache=AcquirePixelCache(0);
   image->channel_mask=DefaultChannels;
diff --git a/coders/svg.c b/coders/svg.c
index 487d68e..ea2c866 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -185,6 +185,12 @@
 } SVGInfo;
 
 /*
+  Static declarations.
+*/
+static char
+  SVGDensityGeometry[] = "90.0x90.0";
+
+/*
   Forward declarations.
 */
 static MagickBooleanType
@@ -2787,6 +2793,20 @@
       image=DestroyImageList(image);
       return((Image *) NULL);
     }
+  if ((image->resolution.x == 0.0) || (image->resolution.y == 0.0))
+    {
+      GeometryInfo
+        geometry_info;
+
+      int
+        flags;
+
+      flags=ParseGeometry(SVGDensityGeometry,&geometry_info);
+      image->resolution.x=geometry_info.rho;
+      image->resolution.y=geometry_info.sigma;
+      if ((flags & SigmaValue) == 0)
+        image->resolution.y=image->resolution.x;
+    }
   if (LocaleCompare(image_info->magick,"MSVG") != 0)
     {
       const DelegateInfo
@@ -2891,9 +2911,8 @@
         if (svg_handle == (RsvgHandle *) NULL)
           ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");
         rsvg_handle_set_base_uri(svg_handle,image_info->filename);
-        if ((image->resolution.x != 72.0) && (image->resolution.y != 72.0))
-          rsvg_handle_set_dpi_x_y(svg_handle,image->resolution.x,
-            image->resolution.y);
+        rsvg_handle_set_dpi_x_y(svg_handle,image->resolution.x,
+          image->resolution.y);
         while ((n=ReadBlob(image,MaxTextExtent,message)) != 0)
         {
           error=(GError *) NULL;
diff --git a/coders/wmf.c b/coders/wmf.c
index b064432..77ca0bd 100644
--- a/coders/wmf.c
+++ b/coders/wmf.c
@@ -2692,14 +2692,14 @@
 
   /* User specified resolution */
   resolution_y=DefaultResolution;
-  if (image->resolution.y > 0)
+  if (image->resolution.y != 0.0)
     {
       resolution_y = image->resolution.y;
       if (image->units == PixelsPerCentimeterResolution)
         resolution_y *= CENTIMETERS_PER_INCH;
     }
   resolution_x=DefaultResolution;
-  if (image->resolution.x > 0)
+  if (image->resolution.x != 0.0)
     {
       resolution_x = image->resolution.x;
       if (image->units == PixelsPerCentimeterResolution)