A user field's text format defaults to "- Select -", how do I force it to an allowed option? I have added a field, "Bio" to the user profile. All user roles have permissions for "Filtered Text", and the field text format settings are limited to "Filtered Text" only, with override default order on. I've set it to default to "Filtered Text" in the Default Value field as well.

When I edit my profile as an authenticated user (who only has permissions for "Filtered Text"), the selector refuses to default to "Filtered Text", as demonstrated in the screenshot:



How can I force this to default to Filtered Text, or moreover why is it not defaulting?

I have tried altering the field's text format in hook_form_alter, with the line:

$form['field_bio']['und'][0]['format'] = 'filtered_html';

but it still defaults to "- Select -"!

Is there another way to force, on the form, a default value in a hook?
The text format is added in an after build function somewhere. This is off the top of my head so might need some tweaking, but the idea will be very similar:

function MYMODULE_form_some_form_alter($form, &amp;$form_state) {
  $form['field_bio']['#after_build'][] = '_MYMODULE_some_form_alter_textformat_options';
}

function _MYMODULE_some_form_alter_textformat_options(&amp;$element) {
  $element[LANGUAGE_NONE][0]['format']['#default_value'] = 'filtered_html';
}