         user_key = ev.target.getAttribute('data-user')
         user_opinion = _.findWhere @opinions, {user: user_key}
 
-        is_deselection = (single_selection?.opinion == user_opinion.key || @weights[user_key] == 0 ) 
-        if is_deselection
-          clear_histogram_managed_opinion_views opinion_views
-        else 
-          opinion_views.active_views.single_opinion_selected =
-            created_by: @props.key
-            opinion: user_opinion.key 
-            opinion_value: user_opinion.stance 
-            get_salience: (u, opinion, proposal) =>
-              if (u.key or u) == user_opinion.user
-                1
-              else 
-                .1
-          clear_histogram_managed_opinion_views opinion_views, 'region_selected'
+        if user_opinion
+          is_deselection = (single_selection?.opinion == user_opinion.key || @weights[user_key] == 0 ) 
+          if is_deselection
+            clear_histogram_managed_opinion_views opinion_views
+          else 
+            select_single_opinion user_key, @opinions, @props.key
+
       else
         max = @local.mouse_opinion_value + REGION_SELECTION_WIDTH
         min = @local.mouse_opinion_value - REGION_SELECTION_WIDTH

    has_groups = !!groups
    if has_groups
      colors = get_color_for_groups groups 


    DIV 

            hide_tooltip: @props.backgrounded || salience < 1
            className: className
            alt: "<user>: #{alt}"
            anonymous: customization('anonymize_everything')
            style: avatar_style
            set_bg_color: true
            custom_bg_color: has_groups && group
