diff --git a/field_collection_views.module b/field_collection_views.module
index 34d6f77..670b2c2 100644
--- a/field_collection_views.module
+++ b/field_collection_views.module
@@ -45,7 +45,15 @@ function field_collection_views_field_formatter_view($entity_type, $entity, $fie
         $i++;
       }
       $view_name = isset($settings['name']) ? $settings['name'] : 'field_collection_view';
-      $display_id = isset($settings['display_id']) ? $settings['display_id'] : 'default';
+      if (isset($settings[$view_name.'_display_id'])) {
+        $display_id = $settings[$view_name.'_display_id'];
+      }
+      elseif (isset($settings['display_id'])) {
+        $display_id = $settings['display_id'];
+      }
+      else {
+        $display_id = 'default';
+      }
       $content = views_embed_view($view_name, $display_id, $args);
       $element[0] = array(
         '#markup' => $content,
@@ -60,24 +68,62 @@ function field_collection_views_field_formatter_view($entity_type, $entity, $fie
 }
 
 /**
+ * Helper function to populate the display_id dropdown.
+ *
+ * @param view_name. This will determine which set of display options is returned.
+ *
+ * @return array of display options belonging to the view_name
+ */
+function field_collection_views_display_id_options($view_name = NULL) {
+  $options = array();
+  if (!empty($view_name)) {
+    $view = views_get_view($view_name);
+    if (!empty($view->display)) {
+      foreach($view->display as $display) {
+        $options[$display->id] = $display->display_title;
+      }
+    }
+  }
+  return $options;
+}
+
+/**
  * Implements hook_field_formatter_settings_form().
  */
 function field_collection_views_field_formatter_settings_form($field, $instance, $view_mode, $form, &$form_state) {
   $display = $instance['display'][$view_mode];
   $settings = $display['settings'];
 
+  $views = views_get_all_views();
+  $options = array();
+  foreach ($views as $view) {
+    if ($view->base_table == 'field_collection_item') {
+      $options[$view->name] = $view->human_name;
+    }
+  }
   $elements['name'] = array(
-    '#type' => 'textfield',
+    '#type' => 'select',
     '#title' => t('Name'),
     '#default_value' => $settings['name'],
-    '#description' => t('The machine name of the view to embed.'),
-  );
-  $elements['display_id'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Display id'),
-    '#default_value' => $settings['display_id'],
-    '#description' => t('The display id to embed.'),
+    '#options' => $options,
+    '#description' => t('The name of the view to embed.'),
   );
+  foreach ($options as $view_name => $option) {
+    if (!empty($view_name)) {
+      $elements[$view_name.'_display_id'] = array(
+        '#type' => 'select',
+        '#title' => t('Display'),
+        '#default_value' => $settings[$view_name.'_display_id'],
+        '#options' => field_collection_views_display_id_options($view_name),
+        '#description' => t('The display from the selected view to embed.'),
+        '#states' => array(
+          'visible' => array(
+            ':input[name="options[settings][name]"]' => array('value' => $view_name),
+          ),
+        ),
+      );
+    }
+  }
   $elements['add'] = array(
     '#type' => 'textfield',
     '#title' => t('Add link title'),
