diff --git a/core/misc/dropbutton/dropbutton.base.css b/core/misc/dropbutton/dropbutton.base.css
index 35e9692..a5e7c5f 100644
--- a/core/misc/dropbutton/dropbutton.base.css
+++ b/core/misc/dropbutton/dropbutton.base.css
@@ -17,6 +17,10 @@
   display: block;
   min-height: 2em;
   position: relative;
+  float: left;
+}
+.js .dropbutton-wrapper.no-float {
+  float: none;
 }
 .js .dropbutton-wrapper,
 .js .dropbutton-widget {
@@ -37,7 +41,7 @@
 }
 
 
-.js .dropbutton-widget {
+.js .dropbutton-widget.position-absolute {
   position: absolute;
 }
 /* UL styles are over-scoped in core, so this selector needs weight parity. */
diff --git a/core/misc/dropbutton/dropbutton.js b/core/misc/dropbutton/dropbutton.js
index daebca2..5c06e52 100644
--- a/core/misc/dropbutton/dropbutton.js
+++ b/core/misc/dropbutton/dropbutton.js
@@ -14,10 +14,24 @@ Drupal.behaviors.dropButton = {
       if ($body.length) {
         $body.on('click', '.dropbutton-toggle', dropbuttonClickHandler);
       }
-      // Initialize all buttons.
+      // Initialize all buttons, and while doing so find the widest button.
+      var $widestButton = 0;
       for (var i = 0, il = $dropbuttons.length; i < il; i++) {
         DropButton.dropbuttons.push(new DropButton($dropbuttons[i], settings.dropbutton));
+        $widestButton = dropbuttonGetMaxWidth($dropbuttons[i], $widestButton);
       }
+      /**
+       * Set minimum width of first drop buttom wrapper to that of the widest
+       * dropButton to prevent button text overflow when screen width is small
+       */
+      $($dropbuttons[0]).width($widestButton);
+      /**
+       * In order to accurately calculate the button width the button wrapper
+       * and widget had to be set to float, and position relative, respectively.
+       * These settings must be undone to ensure the button displays correctly.
+       */
+      $('.js .dropbutton-wrapper').addClass('no-float');
+      $('.js .dropbutton-widget').addClass('position-absolute');
     }
   }
 };
@@ -161,4 +175,24 @@ $.extend(Drupal.theme, {
 // Expose constructor in the public space.
 Drupal.DropButton = DropButton;
 
+/**
+* Returns a string representing the wider of button or $widestButton.
+*
+* @param {Jquery} button
+*   A jQuery buttom element
+*
+* @param {String} $widestButton
+*   A string representing the width to compare against the button element
+*
+* @return {String}
+*   A string representing the wider of button and $widestButton
+*
+*/
+function dropbuttonGetMaxWidth($button, $widestButton) {
+ var buttonWidth = $('.dropbutton-widget', $button).outerWidth();
+ if (buttonWidth > $widestButton) {
+   return buttonWidth;
+ } else return $widestButton;
+}
+
 })(jQuery, Drupal);
