 
       @file.done ifCur (info) =>
         state = if info.isImage then 'image' else 'regular'
-        @__setState(state, {file: info})
+        if state != 'image' or state != @__state
+          @__setState(state, {file: info})
 
       @file.fail ifCur (error, info) =>
         @__setState('error', {error, file: info})

    # image
    # regular
    __setState: (state, data) ->
      @container.empty().append(tpl("tab-preview-#{state}", data))

      if state is 'unknown' and @settings.crop

      @dialogApi.fileColl.onAdd.add(@__setFile)

      @widget = null
      @__state = null

    __setFile: (@file) =>
      ifCur = (fn) =>
