diff --git a/core/themes/claro/claro.theme b/core/themes/claro/claro.theme
index 8f35b25ed0..a4391ad3fb 100644
--- a/core/themes/claro/claro.theme
+++ b/core/themes/claro/claro.theme
@@ -17,6 +17,7 @@
 use Drupal\Core\Template\Attribute;
 use Drupal\Core\Url;
 use Drupal\media\MediaForm;
+use Drupal\Core\Render\Markup;
 
 /**
  * Implements hook_theme_suggestions_HOOK_alter() for form_element.
@@ -1035,6 +1036,21 @@ function claro_preprocess_status_messages(&$variables) {
   }
 }
 
+/**
+ * Implements hook_preprocess_HOOK() for links__dropbutton.
+ */
+function claro_preprocess_dropbutton_wrapper(&$variables) {
+  $children = (string) $variables['children'];
+
+  $pattern = '/(<ul\sclass\s*= *["\']?)([^"\']*)(.*)(<li)/i';
+  $lipattern = '/(<li class\s*= *["\']?)([^"\']*)/i';
+  $children = preg_replace($lipattern, '$1$2 dropbutton__item', $children);
+  $children = preg_replace('/<li>/', '<li class="dropbutton__item">', $children);
+  $children = preg_replace($pattern, '$1$2 dropbutton--multiple $3$4', $children);
+
+  $variables['children'] = Markup::create($children);
+}
+
 /**
  * Implements hook_preprocess_HOOK() for system_themes_page.
  */
