         loaded = $img.attr('src').substr(-(current.length))
         return unless loaded is current
 
-        set view, 'loading', false #exit loading state
+        set(view, 'loading', false) if $img.prop 'complete' #exit loading state
   })
 
   ###

    @chainable
  ###
  loadingDidChange: observer('loading', ->
    evt = if get(@, 'loading') then 'imageWillLoad' else 'imageDidLoad'
    @sendAction(evt) if Ember.typeOf(get(@, evt)) is 'string'
    @
  )

  _setupElement: Ember.on('didInsertElement', ->
    @updateSrc()
  )

  _teardownElement: Ember.on('willDestroyElement', ->


    $img.removeAttr 'src'

    # Do nothing if the src property is blank
    return @ if isBlank(src)

    set @, 'loading', true #enter loading state

