772c772
<   $size = isset($element['#size']) ? $element['#size'] : 0;
---
>   $size = isset($element['#size']) ? $element['#size'] : 2;
911a912,919
>         // Exclude Labels & None values in multi select
>         if (is_array($value)) {
>           foreach ($value as $key => $element_value) {
>             if ($element_value == "none" || preg_match('/^label_\d+$/', $element_value, $matches, PREG_OFFSET_CAPTURE)) {
>               unset($value[$key]);
>             }
>           }          
>         }
1026c1034
<   if (empty($form_state['input']) || (!isset($element['#value']['hierarchical_select']) && !isset($element['#value']['dropbox']))) {
---
>   if (empty($form_state['input']) || (!isset($element['#value']) && !isset($element['#value']['dropbox']))) {
1043,1044c1051,1060
<       $db_selection = array_unique(array_merge($db_selection, $hs_selection));
< 
---
>       if (is_array($hs_selection[0])) {
>         foreach ($hs_selection[0] as $key => $multi_child) {
>           $multi_child_selection = array('0' => $multi_child);          
>           $db_selection = array_unique(array_merge($db_selection, $multi_child_selection));
>         }
>       }
>       else {        
>         $db_selection = array_unique(array_merge($db_selection, $hs_selection));
>       }     
>       
1128,1130c1144,1152
<   $form['#suffix'] = '</div>';
< 
<   foreach ($hierarchy->lineage as $depth => $selected_item) {
---
>   $form['#suffix'] = '</div>';  
>   foreach ($hierarchy->lineage as $depth => $selected_item) {     
>     $multiple = TRUE;
>     foreach ($hierarchy->childinfo[$depth] as $key => $value) {
>       // Check for children in the elements . Multiple TRUE only if no children present in the list.
>       if ($value) {
>         $multiple = FALSE;
>       }
>     }
1132a1155
>       '#multiple' => $multiple,
1829d1851
< 
1936,1937c1958,1969
<         $children = array_keys(module_invoke($module, 'hierarchical_select_children', $parent, $params));
<         $valid = $valid && in_array($child, $children);
---
>         if (is_array($child)) {
>           $multi_child = $child;
>           foreach ($$multi_child as $key => $child) {
>              # code...
>             $children = array_keys(module_invoke($module, 'hierarchical_select_children', $parent, $params));
>             $valid = $valid && in_array($child, $children);  
>            } 
>         }
>         else {
>           $children = array_keys(module_invoke($module, 'hierarchical_select_children', $parent, $params));
>           $valid = $valid && in_array($child, $children);  
>         }        
