diff --git css/views-admin.css css/views-admin.css
index cf930f1..e224959 100644
--- css/views-admin.css
+++ css/views-admin.css
@@ -636,6 +636,7 @@ html.js .views-hidden {
   max-width: 95%;
 }
 
+.clone-display,
 .remove-display {
   float: right;
   margin: 0;
@@ -645,7 +646,9 @@ html.js .views-hidden {
 }
 
 .views-display .remove-display form,
-.remove-display input {
+.remove-display input,
+.views-display .clone-display form,
+.clone-display input {
   margin: 0 !important;
 }
 
diff --git includes/admin.inc includes/admin.inc
index 93fbc25..734feaf 100644
--- includes/admin.inc
+++ includes/admin.inc
@@ -1076,6 +1076,15 @@ function template_preprocess_views_ui_edit_tab(&$vars) {
     }
     $form_state = array('view' => &$view, 'display_id' => $display->id, 'ajax' => FALSE);
     $vars['remove'] = drupal_build_form('views_ui_remove_display_form', $form_state);
+    $vars['clone'] = drupal_build_form('views_ui_clone_display_form', $form_state);
+  }
+  $vars['clone'] = '';
+  if (empty($plugin['no remove'])) {
+    if (!empty($_POST['form_id']) && $_POST['form_id'] == 'views_ui_clone_display_form') {
+      unset($_POST['form_id']);
+    }
+    $form_state = array('view' => &$view, 'display_id' => $display->id, 'ajax' => FALSE);
+    $vars['clone'] = drupal_build_form('views_ui_clone_display_form', $form_state);
   }
 
   // basic fields
@@ -1439,6 +1448,10 @@ function views_ui_ajax_forms($key = NULL) {
       'form_id' => 'views_ui_remove_display_form',
       'args' => array(),
     ),
+    'clone-display' => array(
+      'form_id' => 'views_ui_clone_display_form',
+      'args' => array(),
+    ),
     'config-type' => array(
       'form_id' => 'views_ui_config_type_form',
       'args' => array('type'),
@@ -1686,6 +1699,25 @@ function views_ui_add_display_form_submit($form, &$form_state) {
 }
 
 /**
+ * From to clone a display from a view.
+ */
+function views_ui_clone_display_form(&$form_state) {
+  $view = &$form_state['view'];
+  $display_id = $form_state['display_id'];
+
+  $form['clone_display'] = array(
+    '#type' => 'submit',
+    '#value' => t('Clone display'),
+    '#submit' => array('views_ui_clone_display_form_submit'),
+  );
+
+  $form['#action'] = url("admin/build/views/nojs/clone-display/$view->name/$display_id");
+  $form['#attributes'] = array('class' => 'views-ajax-form');
+
+  return $form;
+}
+
+/**
  * Form to remove a display from a view.
  */
 function views_ui_remove_display_form(&$form_state) {
@@ -1736,6 +1768,23 @@ function views_ui_remove_display_form_submit($form, &$form_state) {
 }
 
 /**
+ * Submit handler to add a clone to a display from a view.
+ */
+function views_ui_clone_display_form_submit($form, &$form_state) {
+  // Create the new display
+  $id = $form_state['display_id'];
+  $type = $form_state['view']->display[$id]->display_plugin;
+  $new_id = $form_state['view']->generate_display_id($type);
+
+  $form_state['view']->display[$new_id] = drupal_clone($form_state['view']->display[$id]);
+
+  $form_state['view']->display[$new_id]->id = $new_id;
+
+  // Store in cache
+  views_ui_cache_set($form_state['view']);
+}
+
+/**
  * Submit handler to add a restore a removed display to a view.
  */
 function views_ui_remove_display_form_restore($form, &$form_state) {
diff --git includes/view.inc includes/view.inc
index 2b5357d..52c3a0c 100644
--- includes/view.inc
+++ includes/view.inc
@@ -1714,6 +1714,19 @@ class views_db_object {
     return $output;
   }
 
+  function generate_display_id($type) {
+    $id = ($type == 'default') ? $type : $type . '_1';
+    $count = 1;
+
+    // Loop through IDs based upon our style plugin name until
+    // we find one that is unused.
+    while (!empty($this->display[$id])) {
+      $id = $type . '_' . ++$count;
+    }
+
+    return $id;
+  }
+
   /**
    * Add a new display handler to the view, automatically creating an id.
    *
diff --git theme/views-ui-edit-tab.tpl.php theme/views-ui-edit-tab.tpl.php
index 91ab133..aa2f41f 100644
--- theme/views-ui-edit-tab.tpl.php
+++ theme/views-ui-edit-tab.tpl.php
@@ -10,6 +10,9 @@
   <?php if ($remove): ?>
     <div class="remove-display"><?php print $remove ?></div>
   <?php endif; ?>
+  <?php if ($clone): ?>
+    <div class="clone-display"><?php print $clone ?></div>
+  <?php endif; ?>
   <div class="top">
     <div class="inside">
       <?php print $display_help_icon; ?>
@@ -93,4 +96,4 @@
     </div>
   </div>
 
-</div>
\ No newline at end of file
+</div>
