         @set_data(false)
         @need_set_data = false
 
-      if have_new_mapper_state or @have_new_data
-        @_map_data()
+      @_map_data()
 
       if @_mask_data?
         @_mask_data()

        do_render(ctx, @nonselection_glyphprops, false)
      else
        do_render(ctx, @glyph_props)

      ctx.restore()


      do_render = (ctx, glyph_props, use_selection) =>
        source = @mget_obj('data_source')

        if @have_new_data
          if glyph_props.fill_properties? and glyph_props.fill_properties.do_fill
            glyph_props.fill_properties.set_prop_cache(source)
          if glyph_props.line_properties? and glyph_props.line_properties.do_stroke
            glyph_props.line_properties.set_prop_cache(source)
          if glyph_props.text_properties?
            glyph_props.text_properties.set_prop_cache(source)

        @_render(ctx, glyph_props, use_selection)

