diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 9a4f2ee..b644ccb 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1837,20 +1837,6 @@ function theme_links($variables) {
 }
 
 /**
- * Returns HTML for wrapping a dropbutton menu.
- *
- * @param array $variables
- *   An associative array containing:
- *   - element: An associative array containing the properties and children of
- *     the dropbutton menu. Properties used: #children.
- */
-function theme_dropbutton_wrapper($variables) {
-  if (!empty($variables['element']['#children'])) {
-    return '<div class="dropbutton-wrapper"><div class="dropbutton-widget">' . $variables['element']['#children'] . '</div></div>';
-  }
-}
-
-/**
  * Returns HTML for an image.
  *
  * @param $variables
@@ -3125,6 +3111,22 @@ function template_preprocess_region(&$variables) {
 }
 
 /**
+ * Prepares variables for dropbutton wrapper templates.
+ *
+ * Default template: dropbutton-wrapper.html.twig.
+ *
+ * @param array $variables
+ *   An associative array containing:
+ *   - element: An associative array containing the properties and children of
+ *     the dropbutton menu. Properties used: #children.
+ */
+function template_preprocess_dropbutton_wrapper(&$variables) {
+  if (!empty($variables['element']['#children'])) {
+    $variables['children'] = $variables['element']['#children'];
+  }
+}
+
+/**
  * Provides theme registration for themes across .inc files.
  */
 function drupal_common_theme() {
@@ -3157,6 +3159,7 @@ function drupal_common_theme() {
     ),
     'dropbutton_wrapper' => array(
       'render element' => 'element',
+      'template' => 'dropbutton-wrapper',
     ),
     'image' => array(
       // HTML 4 and XHTML 1.0 always require an alt attribute. The HTML 5 draft
diff --git a/core/modules/system/templates/dropbutton-wrapper.html.twig b/core/modules/system/templates/dropbutton-wrapper.html.twig
new file mode 100644
index 0000000..7eba082
--- /dev/null
+++ b/core/modules/system/templates/dropbutton-wrapper.html.twig
@@ -0,0 +1,23 @@
+{#
+/**
+ * @file
+ * Default theme implementation for a dropbutton menu.
+ *
+ * Available variables:
+ * - children: Contains the child elements for a dropbutton wrapper.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_dropbutton_wrapper()
+ *
+ * @ingroup themeable
+ */
+#}
+{% spaceless %}
+  {% if children %}
+    <div class="dropbutton-wrapper">
+      <div class="dropbutton-widget">
+        {{ children }}
+      </div>
+    </div>
+  {% endif %}
+{% endspaceless %}
