diff --git a/css/views-admin.bartik.css b/css/views-admin.bartik.css
index e8f7aef..3fd54a5 100644
--- a/css/views-admin.bartik.css
+++ b/css/views-admin.bartik.css
@@ -73,119 +73,7 @@
 
 /* @group CTools */
 
-/* @group Buttons */
-
-.ctools-button-processed {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(249, 249, 249, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  border-radius: 5px;
-  padding-bottom: 1px;
-  padding-top: 1px;
-}
-
-.ctools-button-processed:hover {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(241, 241, 241, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-}
-
-.ctools-button-processed li a,
-.views-ui-display-tab-actions .ctools-button-processed input {
-  padding-left: 9px;
-  padding-right: 9px;
-}
-
-.ctools-content ul.actions {
-  padding-bottom: 0;
-}
-
-.ctools-dropbutton-processed.open:hover {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(249, 249, 249, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-}
-
-.ctools-dropbutton-processed.open {
-  -moz-box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
-  -webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
-  box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
-}
-
-.ctools-twisty {
-  top: 0.6667em;
-}
-
-.ctools-dropbutton-processed.open .ctools-twisty {
-  top: 0.3333em;
-}
-
-.ctools-dropbutton-processed li a,
-.views-ui-display-tab-actions .ctools-dropbutton-processed input {
-  padding-right: 7px;
-}
-
-.views-ui-display-tab-actions .ctools-button-processed input.form-submit {
+.views-ui-display-tab-actions .dropbutton input.form-submit {
   margin-right: 0;
   margin-top: 0;
 }
@@ -224,12 +112,12 @@
   color: #018FE2;
 }
 
-.views-ui-display-tab-actions .ctools-button input {
+.views-ui-display-tab-actions .dropbutton input {
   color: #0071B3;
 }
 
-.views-ui-display-tab-actions .ctools-button input:hover,
-.views-ui-display-tab-actions .ctools-button input:focus {
+.views-ui-display-tab-actions .dropbutton input:hover,
+.views-ui-display-tab-actions .dropbutton input:focus {
   color: #018FE2;
 }
 
diff --git a/css/views-admin.css b/css/views-admin.css
index d740d45..f19e355 100644
--- a/css/views-admin.css
+++ b/css/views-admin.css
@@ -374,3 +374,20 @@ html.js span.js-only {
 }
 
 /* @end */
+
+.dropbutton,
+.dropbutton input {
+  text-transform: lowercase;
+}
+.dropbutton-multiple {
+  position: absolute;
+}
+.dropbutton-multiple .dropbutton-widget {
+  position: relative;
+}
+.dropbutton-content {
+  font-size: 11px;
+}
+.dropbutton-content li > * {
+  margin: 0;
+}
diff --git a/css/views-admin.ctools-rtl.css b/css/views-admin.ctools-rtl.css
index 2a3d1fc..7b9a66b 100644
--- a/css/views-admin.ctools-rtl.css
+++ b/css/views-admin.ctools-rtl.css
@@ -1,32 +1 @@
-/* @group Buttons */
-
-.ctools-dropbutton .ctools-content {
-  border-left: 1px solid #e8e8e8;
-}
-
-.ctools-content ul.actions {
-  padding-left: auto;
-  padding-right: 0;
-}
-
-.ctools-dropbutton .ctools-link {
-  border-right: 1px solid #ffffff;
-}
-
-.ctools-dropbutton li {
-  padding-left: 9px;
-  padding-left: auto;
-}
-
-.views-display-top .ctools-button {
-  left: 12px;
-  right: auto;
-}
-
-.views-ui-display-tab-bucket .ctools-button {
-  left: 5px;
-  right: auto;
-}
-
-/* @end */
-
+/* @group Export */
diff --git a/css/views-admin.ctools.css b/css/views-admin.ctools.css
index 188f0af..7b9a66b 100644
--- a/css/views-admin.ctools.css
+++ b/css/views-admin.ctools.css
@@ -1,121 +1 @@
-/* @group Buttons */
-
-.ctools-button-processed {
-  background-color: #ffffff;
-  border-color: #cccccc;
-  font-size: 11px;
-  padding-bottom: 2px;
-  padding-top: 2px;
-}
-
-.ctools-button-processed,
-.ctools-button-processed input {
-  text-transform: lowercase;
-}
-
-.ctools-button-processed:hover {
-  border-color: #b8b8b8;
-}
-
-.ctools-button-processed:active {
-  border-color: #a0a0a0;
-}
-
-.ctools-button-processed .ctools-content {
-  padding-bottom: 0;
-  padding-top: 0;
-}
-
-.ctools-dropbutton-processed {
-  position: absolute;
-}
-
-.ctools-dropbutton-processed .ctools-content {
-  border-right: 1px solid #e8e8e8;
-}
-
-.ctools-dropbutton-processed .ctools-content ul {
-  margin: 0;
-  padding: 0;
-}
-
-.ctools-content ul.actions {
-  margin-top: 0;
-  margin-bottom: 0;
-  padding-left: 0;
-}
-
-.ctools-button-processed .ctools-content a {
-  background-image: none;
-  border: medium none;
-}
-
-.ctools-dropbutton-processed.open:hover {
-  border-color: #D0D0D0;
-}
-
-.ctools-dropbutton-processed.open {
-  z-index: 100;
-}
-
-.ctools-dropbutton-processed .ctools-link {
-  border-left: 1px solid #ffffff;
-}
-
-.ctools-dropbutton-processed.open .ctools-content {
-    padding-bottom: 4px;
-}
-
-.ctools-dropbutton-processed li a,
-.ctools-dropbutton-processed li input {
-  padding-right: 9px;
-}
-
-.ctools-dropbutton-processed.open li + li {
-  border-top: 1px solid #efefef;
-  margin-top: 4px;
-  padding-bottom: 0;
-  padding-top: 4px;
-}
-
-.ctools-twisty:focus {
-  outline: medium none;
-}
-
-.ctools-no-js .ctools-content ul {
-  margin-bottom: 0;
-  margin-top: 0;
-  padding-left: 0;
-}
-
-.views-display-top .ctools-button-processed {
-  font-size: 12px;
-  position: absolute;
-  right: 12px;
-  top: 7px;
-}
-
-.views-ui-display-tab-bucket .ctools-button-processed {
-  position: absolute;
-  right: 5px;
-  top: 4px;
-}
-
-.views-ui-display-tab-actions .ctools-button-processed li a,
-.views-ui-display-tab-actions .ctools-button-processed input {
-  background: none;
-  border: medium;
-  font-family: inherit;
-  font-size: 12px;
-  padding-bottom: 0;
-  padding-left: 12px;
-  padding-top: 0;
-  margin-bottom: 0;
-}
-
-.views-ui-display-tab-actions .ctools-button-processed input:hover {
-  background: none;
-}
-
-/* @end */
-
+/* @group Export */
diff --git a/css/views-admin.seven.css b/css/views-admin.seven.css
index 1452a0a..c98c58b 100644
--- a/css/views-admin.seven.css
+++ b/css/views-admin.seven.css
@@ -1,3 +1,4 @@
+}
 /**
  * The .seven.css file is intended to contain styles that override declarations
  * in the Seven admin theme.
@@ -391,93 +392,8 @@ table th {
 
 /* @end */
 
-/* @group CTools */
-
-/* @group Buttons */
-
-.ctools-button-processed {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(249, 249, 249, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  border-radius: 11px;
-}
-
-.ctools-button-processed:hover {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(241, 241, 241, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f1f1f1 100%);
-}
-
-.ctools-dropbutton-processed.open:hover {
-  background-image:
-    -moz-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    -webkit-gradient(
-      linear,
-      left top,
-      left bottom,
-      color-stop(0.0, rgba(255, 255, 255, 1.0)),
-      color-stop(1.0, rgba(249, 249, 249, 1.0))
-    );
-  background-image:
-    -webkit-linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-  background-image:
-    linear-gradient(
-      -90deg,
-      #ffffff 0,
-      #f9f9f9 100%);
-}
-
-.ctools-dropbutton-processed.open {
-  -moz-box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
-  -webkit-box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
-  box-shadow: 1px 1px 2px rgba(0,0,0,0.25);
+.views-ui-display-tab-actions .dropbutton input {
+  color: #0074BD;
 }
 
 /* @end */
diff --git a/css/views-admin.theme-rtl.css b/css/views-admin.theme-rtl.css
index b2656f1..99c8c42 100644
--- a/css/views-admin.theme-rtl.css
+++ b/css/views-admin.theme-rtl.css
@@ -205,4 +205,16 @@ div.form-item-displays-live-preview {
 
 /* @end */
 
+/* @group Buttons */
+
+.no-js .views-display-top .dropbutton {
+  left: 12px;
+  right: auto;
+}
+
+.views-ui-display-tab-bucket .dropbutton {
+  left: 5px;
+  right: auto;
+}
+
 /* @end */
diff --git a/css/views-admin.theme.css b/css/views-admin.theme.css
index 44750d7..9e53c4d 100644
--- a/css/views-admin.theme.css
+++ b/css/views-admin.theme.css
@@ -1100,3 +1100,35 @@ div.messages {
 }
 
 /* @end */
+
+/* @group Buttons */
+
+.views-display-top .dropbutton {
+  font-size: 12px;
+  position: absolute;
+  right: 12px;
+  top: 7px;
+}
+
+.views-ui-display-tab-bucket .dropbutton {
+  position: absolute;
+  right: 5px;
+  top: 4px;
+}
+
+.views-ui-display-tab-actions .dropbutton li a,
+.views-ui-display-tab-actions .dropbutton input {
+  background: none;
+  border: medium;
+  font-family: inherit;
+  font-size: 12px;
+  padding-left: 12px;
+  margin-bottom: 0;
+}
+
+.views-ui-display-tab-actions .dropbutton input:hover {
+  background: none;
+  border: none;
+}
+
+/* @end */
diff --git a/js/views-admin.js b/js/views-admin.js
index ccddc5e..1d226c4 100644
--- a/js/views-admin.js
+++ b/js/views-admin.js
@@ -914,11 +914,8 @@ else if (($row).hasClass('draggable') && $row.is(':visible')) {
 
   "use strict";
 
-  jQuery('.ctools-button', context).once('RemoveIconClass', function () {
-    var $ = jQuery;
-    var $this = $(this);
-    $('.icon', $this).removeClass('icon');
-    $('.horizontal', $this).removeClass('horizontal');
+  jQuery(context).find('.dropbutton').once('dropbutton-icon', function () {
+    jQuery(this).find('.icon').removeClass('icon');
   });
 };
 
diff --git a/lib/Drupal/views/ViewListController.php b/lib/Drupal/views/ViewListController.php
index 38267c7..ca72496 100644
--- a/lib/Drupal/views/ViewListController.php
+++ b/lib/Drupal/views/ViewListController.php
@@ -36,7 +36,7 @@ public function load() {
    */
   public function buildRow(EntityInterface $view) {
     $operations = $this->buildOperations($view);
-    $operations['#theme'] = 'links__ctools_dropbutton';
+    $operations['#theme'] = 'dropbutton';
     return array(
       'data' => array(
         'view_name' => theme('views_ui_view_info', array('view' => $view)),
diff --git a/lib/Drupal/views/ViewUI.php b/lib/Drupal/views/ViewUI.php
index 5c7e344..9ca5b77 100644
--- a/lib/Drupal/views/ViewUI.php
+++ b/lib/Drupal/views/ViewUI.php
@@ -166,26 +166,12 @@ public function getDisplayDetails($display) {
       '#attributes' => array('id' => 'edit-display-settings-details'),
     );
 
-    // The following is for display purposes only. We need to determine if there is more than one button and wrap
-    // the buttons in a .ctools-dropbutton class if more than one is present.  Otherwise, we'll just wrap the
-    // actions in the .ctools-button class.
     $is_display_deleted = !empty($display['deleted']);
     // The master display cannot be cloned.
     $is_default = $display['id'] == 'default';
     // @todo: Figure out why getOption doesn't work here.
     $is_enabled = $this->displayHandlers[$display['id']]->getOption('enabled');
 
-    if (!$is_display_deleted && !$is_default) {
-      $prefix = '<div class="ctools-no-js ctools-button ctools-dropbutton"><div class="ctools-link"><a href="#" class="ctools-twisty ctools-text">open</a></div><div class="ctools-content"><ul class="horizontal right actions">';
-      $suffix = '</ul></div></div>';
-      $item_element = 'li';
-    }
-    else {
-      $prefix = '<div class="ctools-button"><div class="ctools-content"><ul class="horizontal right actions">';
-      $suffix = '</ul></div></div>';
-      $item_element = 'li';
-    }
-
     if ($display['id'] != 'default') {
       $build['top']['#theme_wrappers'] = array('container');
       $build['top']['#attributes']['id'] = 'edit-display-settings-top';
@@ -193,8 +179,8 @@ public function getDisplayDetails($display) {
 
       // The Delete, Duplicate and Undo Delete buttons.
       $build['top']['actions'] = array(
-        '#prefix' => $prefix,
-        '#suffix' => $suffix,
+        '#prefix' => '<div class="dropbutton-wrapper"><div class="dropbutton-widget"><ul class="dropbutton">',
+        '#suffix' => '</ul></div></div>',
       );
 
       if (!$is_display_deleted) {
@@ -204,8 +190,8 @@ public function getDisplayDetails($display) {
             '#value' => t('enable @display_title', array('@display_title' => $display_title)),
             '#limit_validation_errors' => array(),
             '#submit' => array(array($this, 'submitDisplayEnable'), array($this, 'submitDelayDestination')),
-            '#prefix' => '<' . $item_element . ' class="enable">',
-            "#suffix" => '</' . $item_element . '>',
+            '#prefix' => '<li class="enable">',
+            "#suffix" => '</li>',
           );
         }
         // Add a link to view the page.
@@ -217,8 +203,8 @@ public function getDisplayDetails($display) {
               '#title' => t('view @display', array('@display' => $display['display_title'])),
               '#options' => array('alt' => array(t("Go to the real page for this display"))),
               '#href' => $path,
-              '#prefix' => '<' . $item_element . ' class="view">',
-              "#suffix" => '</' . $item_element . '>',
+              '#prefix' => '<li class="view">',
+              "#suffix" => '</li>',
             );
           }
         }
@@ -228,8 +214,8 @@ public function getDisplayDetails($display) {
             '#value' => t('clone @display_title', array('@display_title' => $display_title)),
             '#limit_validation_errors' => array(),
             '#submit' => array(array($this, 'submitDisplayDuplicate'), array($this, 'submitDelayDestination')),
-            '#prefix' => '<' . $item_element . ' class="duplicate">',
-            "#suffix" => '</' . $item_element . '>',
+            '#prefix' => '<li class="duplicate">',
+            "#suffix" => '</li>',
           );
         }
         // Always allow a display to be deleted.
@@ -238,8 +224,8 @@ public function getDisplayDetails($display) {
           '#value' => t('delete @display_title', array('@display_title' => $display_title)),
           '#limit_validation_errors' => array(),
           '#submit' => array(array($this, 'submitDisplayDelete'), array($this, 'submitDelayDestination')),
-          '#prefix' => '<' . $item_element . ' class="delete">',
-          "#suffix" => '</' . $item_element . '>',
+          '#prefix' => '<li class="delete">',
+          "#suffix" => '</li>',
         );
         if ($is_enabled) {
           $build['top']['actions']['disable'] = array(
@@ -247,8 +233,8 @@ public function getDisplayDetails($display) {
             '#value' => t('disable @display_title', array('@display_title' => $display_title)),
             '#limit_validation_errors' => array(),
             '#submit' => array(array($this, 'submitDisplayDisable'), array($this, 'submitDelayDestination')),
-            '#prefix' => '<' . $item_element . ' class="disable">',
-            "#suffix" => '</' . $item_element . '>',
+            '#prefix' => '<li class="disable">',
+            "#suffix" => '</li>',
           );
         }
       }
@@ -258,8 +244,8 @@ public function getDisplayDetails($display) {
           '#value' => t('undo delete of @display_title', array('@display_title' => $display_title)),
           '#limit_validation_errors' => array(),
           '#submit' => array(array($this, 'submitDisplayUndoDelete'), array($this, 'submitDelayDestination')),
-          '#prefix' => '<' . $item_element . ' class="undo-delete">',
-          "#suffix" => '</' . $item_element . '>',
+          '#prefix' => '<li class="undo-delete">',
+          "#suffix" => '</li>',
         );
       }
 
@@ -398,7 +384,7 @@ public function renderDisplayTop($display_id) {
 
     // Extra actions for the display
     $element['extra_actions'] = array(
-      '#theme' => 'links__ctools_dropbutton',
+      '#theme' => 'dropbutton',
       '#attributes' => array(
           'id' => 'views-display-extra-actions',
           'class' => array(
@@ -967,7 +953,7 @@ public function getFormBucket($type, $display) {
     }
 
     // Render the array of links
-    $build['#actions'] = theme('links__ctools_dropbutton',
+    $build['#actions'] = theme('dropbutton',
       array(
         'links' => $actions,
         'attributes' => array(
