How to use element validation and form validation on the same form?

I have a custom form I am validating with a custom validation function like this:

… $  form['submit'] = array(     '#type' => 'submit',     '#value' => t('Submit'),     '#validate' => array('custom_misc_form_validate'),   ); 

This works as expected, my custom validation function is called, etc. But I would like to add an further form element to the form, which defines an element validation callback function, like this:

$  form['email'] = array(       '#type' => 'textfield',       '#title' => t('Email'),       '#description' => 'Bitte geben Sie eine gültige E-Mail-Adresse an: An diese Adresse werden Ihnen die Zugangsdaten zu unserem Intranet zugesandt.',       '#required' => TRUE,       '#element_validate' => array('custom_misc_email_validate'),       '#weight' => -998,     ); 

The validation callback looks like this:

function custom_misc_email_validate($  element, &$  form_state, $  form) {   $  value = $  element['#value'];    // Check if email has a valid format.   if (!valid_email_address($  value)) {     form_error($  element, t('The e-mail address %mail is not valid.', array('%mail' => $  value)));    // Check if email address is already registered.   } elseif (user_load_by_mail($  value)) {     form_error($  element, t('The e-mail address %email is already registered. <a href="@password">Have you forgotten your password?</a>', array('%email' => $  value, '@password' => url('user/password'))));   } } 

But the callback for the element validation is not called, as long as there is an callback in #validate of the submit button. As soon as the latter is commented out, the callback for the element validation is actually called, but $ element['#value'] is always empty.

Is this a bug, or am I doing something wrong?