diff --git viewfield.module viewfield.module
index 96f03f2..4e671af 100755
--- viewfield.module
+++ viewfield.module
@@ -171,7 +171,7 @@ function viewfield_select_process($element, $edit, $form_state, $form) {
     '#type' => 'select',
     '#title' => $element['#title'],
     '#options' => $options,
-    '#default_value' => isset($field['widget']['default_value']) ? $field['widget']['default_value'][$element['#delta']]['vname'] : NULL,
+    '#default_value' => $is_field_settings_form || !$field['widget']['force_default'] ? $element['#value']['vname'] : $field['widget']['default_value'][$element['#delta']]['vname'],
     '#required' => $element['#required'],
     '#access' => $is_field_settings_form || !$field['widget']['force_default'],
     '#description' => $element['#description'],
@@ -189,7 +189,7 @@ function viewfield_select_process($element, $edit, $form_state, $form) {
       '%field' => $field['widget']['label'],
       '@value' => $label,
     )),
-    '#default_value' => isset($field['widget']['default_value']) ? $field['widget']['default_value'][$element['#delta']]['vargs'] : NULL,
+    '#default_value' => $is_field_settings_form || !$field['widget']['force_default'] ? $element['#value']['vargs'] : $field['widget']['default_value'][$element['#delta']]['vargs'],
     '#access' => $is_field_settings_form || !$field['widget']['force_default'],
     '#description' => t('A comma separated list of arguments to pass to the selected view. Wrap arguments containing commas in double quotes. Replace double quotes in arguments with two double quotes.'),
   );
