diff --git a/includes/form.inc b/includes/form.inc
index 866ac2ba79857a0fe7f5ac8e5c967aa938e7aed6..6f7d96305473e1de595d610d4d0a268f58575a79 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1113,7 +1113,7 @@ function _form_builder_handle_input_element($form_id, &$element, &$form_state) {
     if (!isset($element['#value'])) {
       // Call #type_value without a second argument to request default_value handling.
       if (drupal_function_exists($value_callback)) {
-        $element['#value'] = $value_callback($element);
+        $element['#value'] = $value_callback($element, FALSE, $form_state);
       }
       // Final catch. If we haven't set a value yet, use the explicit default value.
       // Avoid image buttons (which come with garbage value), so we only get value