Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.8
diff -u -F^f -r1.8 form.inc
--- includes/form.inc	29 Oct 2005 07:00:33 -0000	1.8
+++ includes/form.inc	1 Nov 2005 11:51:03 -0000
@@ -233,7 +237,10 @@ function _form_builder($form) {
       $ref =& $ref[$parent];
     }
     if (!isset($form['#value'])) {
-      $form['#value'] = ($posted && isset($edit)) ? $edit : $form['#default_value'];
+      // use the submitted value if there is one or element is a checkbox (or radio)
+      // only checkbox/radio elements have #return_value properties
+      $use_posted = isset($edit) || isset($form['#return_value']);
+      $form['#value'] = ($posted && $use_posted) ? $edit : $form['#default_value'];
     }
     if (isset($form['#execute'])) {
       if ($_POST[$form['#name']] == $form['#value']) {
