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..aa4c041 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
+       * had to be set to float and widget set to position relative.
+       * 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,26 @@ $.extend(Drupal.theme, {
 // Expose constructor in the public space.
 Drupal.DropButton = DropButton;
 
+/**
+* Compares the width of $button to the width of $widestButton and returns the
+* the larger value.
+*
+* @param {Jquery} $button
+*   A jQuery $buttom element.
+*
+* @param $widestButton
+*   The width to compare against $button.
+*
+* @return
+*   The largest width value.
+*
+*/
+function dropbuttonGetMaxWidth($button, $widestButton) {
+  var buttonWidth = $('.dropbutton-widget', $button).outerWidth();
+  if (buttonWidth > $widestButton) {
+    return buttonWidth;
+  }
+  return $widestButton;
+}
+
 })(jQuery, Drupal);
