       clearTimeout(@render_timer)
 
     image_obj = @mget('image_source').images[extent.join(':')]
-    if image_obj?
+    if image_obj? and image_obj.image_data.loaded
       @_draw_image(extent.join(':'))
+      return
+
+    if @lastImage?
+      @_draw_image(@lastImage.cache_key)
+
     else
       if @lastImage?
         @_draw_image(@lastImage.cache_key)

  _on_tile_load: (e) =>
    image_data = e.target.image_data
    image_data.img = e.target
    @mget('image_source').add_image(image_data)
    @lastImage = image_data


    image.alt = ''
    image.image_data =
      bounds : bounds
      loaded : false
      cache_key : bounds.join(':')

    @mget('image_source').add_image(image_data)
    image.src = @mget('image_source').get_image_url(bounds[0], bounds[1], bounds[2], bounds[3], Math.ceil(@map_frame.get('height')), Math.ceil(@map_frame.get('width')))
    return image

