How to unset _none option inside field collection? Normally, in a node form you'ld unset the _none option like so:

function MYMODULE_form_FORM_ID_alter(&amp;$form, &amp;$form_state, $form_id) {
    unset($form['field_name'][LANGUAGE_NONE]['#options']['_none']);
}


Why doesn't this work in a field collection? I tried:

function MYMODULE_form_FORM_ID_alter(&amp;$form, &amp;$form_state, $form_id) {
    $field_collection = $form['field_field_collection'][LANGUAGE_NONE];
    $delta = 0;
    $max_delta = $field_collection['#max_delta'];
    while ($delta &lt;= $max_delta) {
        unset($field_collection[$delta]['field_name'][LANGUAGE_NONE]['#options']['_none']);
        $delta++;
    }
}


In dpm() the option is unset and doesn't appear anymore. But on the screen it's still there... What to do?
You're modifying a local variable. You need

$field_collection = &amp;$form['field_field_collection'][LANGUAGE_NONE];


or

unset($form['field_field_collection'][LANGUAGE_NONE][$delta]['field_name'][LANGUAGE_NONE]['#options']['_none']);