         options.log? "Merge default properties"
         for k, v of options.default
           v = "#{v}" if typeof v is 'number'
-          if typeof v is 'undefined' or v is null
-          then delete fnl_props[k]
-          else fnl_props[k] = v
+          # if typeof v is 'undefined' or v is null
+          # then delete fnl_props[k]
+          # else fnl_props[k] = v
+          fnl_props[k] = v if typeof fnl_props[k] is 'undefined' or fnl_props[k] is null
         do_merge()
       do_merge = () ->
         options.log? "Merge user properties"

    .on 'item', (options, next) ->
      updated = 0
      options.source ?= options.destination
      do_read = ->
        options.log? "Read source properties from '#{options.source}'"
        properties.read options.ssh, options.source, (err, props) ->
          return next err if err and err.code isnt 'ENOENT'
          org_props = if err then {} else props

        options.source = null
        mecano.write options, (err, written) ->
          next err
      conditions.all options, next, do_read_source
    .on 'both', (err) ->
      finish err, configured
  result
