Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.76
diff -u -p -r1.76 form.inc
--- includes/form.inc	9 Mar 2006 22:55:01 -0000	1.76
+++ includes/form.inc	11 Mar 2006 08:12:11 -0000
@@ -325,19 +325,19 @@ function form_builder($form_id, $form) {
       if ($posted) {
         if (isset($edit)) {
           $form['#value'] = $edit; // normal element
-          $form['#needs_validation'] = TRUE;
         }
         elseif (isset($form['#return_value'])) {
           $form['#value'] = '0'; // checkbox unchecked
-          $form['#needs_validation'] = TRUE;
         }
+        $form['#needs_validation'] = TRUE;
       }
       if (!isset($form['#value'])) {
         $function = $form['#type'] . '_value';
         if (function_exists($function)) {
           $function($form);
         }
-        else {
+        elseif (!$posted) {
+          // Assign default values only if the form is yet to be submitted.
           $form['#value'] = $form['#default_value'];
         }
       }
