Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.117
diff -u -p -r1.117 form.inc
--- includes/form.inc	7 May 2006 00:08:36 -0000	1.117
+++ includes/form.inc	10 May 2006 13:49:33 -0000
@@ -344,11 +344,18 @@ function form_builder($form_id, $form) {
             $form['#value'] = !empty($edit) ? $form['#return_value'] : 0;
             break;
           case 'select':
-            if (isset($edit)) {
-              $form['#value'] = $edit;
-            }
-            elseif (isset($form['#multiple']) && $form['#multiple']) {
-              $form['#value'] = array();
+            if (isset($form['#multiple']) && $form['#multiple']) {
+              if (isset($edit) && is_array($edit)) {
+                foreach ($edit as $key => $value) {
+                  $form['#value'][$value] = $value;
+                }
+              }
+              else {
+                $form['#value'] = array();
+              }
+            }
+            elseif (isset($edit)) {
+              $form['#value'] = $edit;
             }
             break;
           case 'textfield':
