                 else
                   @template.setFileInfo(file)
                   @template.loaded()
-                  if file.cdnUrlModifiers
-                    @__setValue file.cdnUrl
-                  else
-                    @__setValue file.fileId
+                  unless keepValue
+                    if file.cdnUrlModifiers
+                      @__setValue file.cdnUrl
+                    else
+                      @__setValue file.fileId
 
       __setValue: (value) ->
         @__skipChange++


      reloadInfo: =>
        if @element.val()
          @__setFileOfType 'uploaded', @element.val()
        else
          @__reset()

      __setEventFile: (e) =>
        @__setFileOfType 'event', e

      __setFileOfType: (type, data) =>
        @__setFile uploadcare.fileFrom(@settings, type, data)

      __fail: (error) =>
        @__reset()


        @reloadInfo()

      __reset: (keepValue=false) =>
        @currentFile?.upload?.reject()
        @currentFile = null
        @template.reset()
        @__setupFileButton()
        unless keepValue
          @__setValue ''

      __setFile: (newFile, keepValue=false) ->
        @__reset(keepValue)
        if newFile
          @currentFile = newFile
          @template.started()
