         else if input instanceof Drawing or input instanceof Drawings
           filenames = input.writeSVG mappings, styles
           input.writeTeX() if settings.texText
-          ## Convert to any additional formats
-          if filenames? and filenames.length
-            convert filenames, formats, settings
+          ## Convert to any additional formats.  Even if SVG files didn't
+          ## change, we may not have done these conversions before or in the
+          ## last run of SVG Tiler, so let svgink compare mod times and decide.
+          convert filenames, formats, settings
         else if input instanceof SVGFile
           convert input.filename, formats, settings
   unless files

    path.format filename2
  writeSVG: (mappings, styles, filename) ->
    for drawing in @drawings
      filename = drawing.writeSVG mappings, styles, @subfilename '.svg', drawing
      continue unless filename?  # don't list unchanged .svg files
      filename
  writeTeX: (filename) ->
    for drawing in @drawings
      subfilename = @subfilename '.svg_tex', drawing

      filename = path.format filename
    if maybeWrite filename, @renderSVG mappings, styles
      console.log '->', filename
    else
      console.log '->', filename, '(UNCHANGED)'
    filename
  renderSVGDOM: (mappings, styles) ->
    ###
    Main rendering engine, returning an xmldom object for the whole document.
