diff --git a/includes/form.inc b/includes/form.inc
index 5e7324f119e2bafebcdb6995f2a882361285b964..d6da7932c3c8a6382c473e833575008709275ce1 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -326,7 +326,7 @@ function form_builder($form_id, $form) {
       $ref =& $ref[$parent];
     }
     $form['#ref'] = &$ref;
-    if (!isset($form['#value'])) {
+    if (!isset($form['#value']) && !array_key_exists('#value', $form)) {
       if ($posted) {
         switch ($form['#type']) {
           case 'checkbox':