Index: tolbase/lib/byswidget/bmultiselect/bmultiselect.tcl
===================================================================
--- tolbase/lib/byswidget/bmultiselect/bmultiselect.tcl	(revision 6d7779d88a35f4606432b88f2eceba8b66c4516b)
+++ tolbase/lib/byswidget/bmultiselect/bmultiselect.tcl	(revision ffeacdcc7b99b98454707efff02a44ee5a5d5655)
@@ -472,11 +472,15 @@
       set last [lindex $indexes end]      
       if { $plus } {
-        set start [$right first]
-        if { $first != $start } {
-          $right move [lindex [$right range [$right first] $first] end-1] \
-                 after $last
-          $right selection clearall
-          $right selection set $first $last
-        }        
+        # hacia arriba
+        if {$first eq [$right item firstchild root]} return
+        foreach index $indexes {
+          $right move $index before {}
+        }
+        #@+ set start [$right first]
+        #@+ if { $first != $start } {
+        #@+   $right move [lindex [$right range [$right first] $first] end-1] after $last
+        #@+   $right selection clearall
+        #@+   $right selection set $first $last
+        #@+ }        
       } else {
         if { $first != 0 } {
@@ -499,12 +503,17 @@
     if {$indexes != ""} {
       set first [lindex $indexes 0]
-      set last [lindex $indexes end]      
+      set last [lindex $indexes end]
       if { $plus } {
-        set end [$right last]
-        if { $last != $end } {
-          $right move [lindex [$right find $last] 1] before $first
-          $right selection clearall
-          $right selection set $first $last
-        }    
+        # hacia abajo
+        if {$last eq [$right item lastchild root]} return
+        foreach index [lreverse $indexes] {
+          $right move $index after {}
+        }
+        #@+ set end [$right last]
+        #@+ if { $last != $end } {
+        #@+   $right move [lindex [$right find $last] 1] before $first
+        #@+   $right selection clearall
+        #@+   $right selection set $first $last
+        #@+ }
       } else {
         set end [$right index end]
