diff --git modules/field.views.inc modules/field.views.inc
index 988de5b..f2e98c0 100644
--- modules/field.views.inc
+++ modules/field.views.inc
@@ -209,42 +209,6 @@ function field_views_field_default_views_data($field) {
           'field_name' => $field['field_name'],
         );
       }
-
-      // Expose additional delta column for multiple value fields.
-      if ($field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED) {
-        $title = t('@label (!name) - delta', array('@label' => $field['field_name'], '!name' => $field['field_name']));
-        $title_short = t('!name - delta', array('!name' => $field['field_name']));
-
-        $data[$table]['delta'] = array(
-          'group' => $group,
-          'title' => $title,
-          'title short' => $title_short,
-          'help' => t('Delta - Appears in: @bundles', array('@bundles' => implode(', ', $bundles_names))),
-        );
-        $data[$table]['delta']['argument'] = array(
-          'field' => 'delta',
-          'table' => $table,
-          'handler' => 'views_handler_argument_numeric',
-          'additional fields' => $additional_fields,
-          'empty field name' => t('<No value>'),
-          'field_name' => $field['field_name'],
-        );
-        $data[$table]['delta']['filter'] = array(
-          'field' => 'delta',
-          'table' => $table,
-          'handler' => 'views_handler_filter_numeric',
-          'additional fields' => $additional_fields,
-          'field_name' => $field['field_name'],
-          'allow empty' => TRUE,
-        );
-        $data[$table]['delta']['sort'] = array(
-          'field' => 'delta',
-          'table' => $table,
-          'handler' => 'views_handler_sort',
-          'additional fields' => $additional_fields,
-          'field_name' => $field['field_name'],
-        );
-      }
     }
   }
 
diff --git modules/field/views_handler_field_field.inc modules/field/views_handler_field_field.inc
index 6621bb9..5886f8e 100644
--- modules/field/views_handler_field_field.inc
+++ modules/field/views_handler_field_field.inc
@@ -109,6 +109,12 @@ class views_handler_field_field extends views_handler_field {
         $column = $this->table_alias . ".language";
         $this->query->add_where(0, $column, $this->query->options['field_language']);
       }
+
+      // Do we need to filter by delta?
+      if (is_numeric($this->options['delta'])) {
+        $column = $this->table_alias . ".delta";
+        $this->query->add_where(0, $column, (int) $this->options['delta']);
+      }
     }
 
     // The revision id inhibits grouping.
@@ -137,6 +143,9 @@ class views_handler_field_field extends views_handler_field {
     $field_type = field_info_field_types($field['type']);
     $column_names = array_keys($field['columns']);
 
+    $options['delta'] = array(
+      'default' => '',
+    );
     // If the field has a "value" column, we probably need that one.
     $options['click_sort_column'] = array(
       'default' => in_array('value', $column_names) ? 'value' : '',
@@ -164,6 +173,15 @@ class views_handler_field_field extends views_handler_field {
     $formatters = _field_view_formatter_options($field['type']);
     $column_names = array_keys($field['columns']);
 
+    if ($field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED) {
+      $form['delta'] = array(
+        '#title' => t('Delta'),
+        '#type' => 'textfield',
+        '#default_value' => $this->options['delta'],
+        '#description' => t('The sequence number of the value to show. Numbers start from 0. Leave empty to display all values.'),
+      );
+    }
+
     // No need to ask the user anything if the field has only one column.
     if (count($field['columns']) == 1) {
       $form['click_sort_column'] = array(
@@ -296,19 +314,27 @@ class views_handler_field_field extends views_handler_field {
       // pre-render phase and the display options for this field.
       $entity_type = $values->_field_data[$this->field_alias]['entity_type'];
       $entity = $values->_field_data[$this->field_alias]['entity'];
+      $langcode = $this->field_language();
 
       // The field we are trying to display doesn't exist on this entity.
       if (!isset($entity->{$this->definition['field_name']})) {
         return '';
       }
 
+      // The user wants to render only one value from a multivalue field.
+      // The Field API doesn't support this, so we just hack out the
+      // values we don't want to render.
+      if (is_numeric($this->options['delta'])) {
+        $delta = (int) $this->options['delta'];
+        $entity->{$this->definition['field_name']}[$langcode] = array($entity->{$this->definition['field_name']}[$langcode][$delta]);
+      }
+
       $display = array(
         'type' => $this->options['type'],
         'settings' => $this->options['settings'],
         'label' => 'hidden',
       );
 
-      $langcode = $this->field_language();
       $render_array = field_view_field($entity_type, $entity, $this->definition['field_name'], $display, $langcode);
       return drupal_render($render_array);
     }
