diff --git a/coders/svg.c b/coders/svg.c
index be5f1fd..ad15324 100644
--- a/coders/svg.c
+++ b/coders/svg.c
@@ -303,11 +303,12 @@
   if (delegate_info == (const DelegateInfo *) NULL)
     return((Image *) NULL);
   status=AcquireUniqueSymbolicLink(image->filename,input_filename);
-  (void) AcquireUniqueFilename(output_filename);
+  (void) AcquireUniqueFilename(unique);
+  (void) FormatLocaleString(output_filename,MagickPathExtent,"%s.png",unique);
   (void) AcquireUniqueFilename(unique);
   density=AcquireString("");
-  (void) FormatLocaleString(density,MagickPathExtent,"%.20g,%.20g",
-    image->resolution.x,image->resolution.y);
+  (void) FormatLocaleString(density,MagickPathExtent,"%.20g",
+    ceil(sqrt(image->resolution.x*image->resolution.y)-0.5));
   (void) FormatLocaleString(background,MagickPathExtent,
     "rgb(%.20g%%,%.20g%%,%.20g%%)",
     100.0*QuantumScale*image->background_color.red,
