diff --git a/less/forms.less b/less/forms.less
index 3138c2c518ab7b3a300c1a23e8b6fe7ff1f8cd63..4559d8e83a34e2a45cc21f47a47ce9436e311db8 100644
--- a/less/forms.less
+++ b/less/forms.less
@@ -450,7 +450,6 @@ input[type="checkbox"] {
     }
 
     .input-group {
-      display: inline-table;
       vertical-align: middle;
 
       .input-group-addon,
diff --git a/less/input-groups.less b/less/input-groups.less
index a8712f25b935f6d13e3d7ea9471d354a7bccd4df..b201b56bba9ba0f1e6e57ae0b1e7f8b58abb3b76 100644
--- a/less/input-groups.less
+++ b/less/input-groups.less
@@ -6,7 +6,7 @@
 // -------------------------
 .input-group {
   position: relative; // For dropdowns
-  display: table;
+  display: flex;
   border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table
 
   // Undo padding and float of grid classes
@@ -17,6 +17,7 @@
   }
 
   .form-control {
+    flex: 1;
     // Ensure that the input is always above the *appended* addon button for
     // proper border colors.
     position: relative;
@@ -54,8 +55,6 @@
 .input-group-addon,
 .input-group-btn,
 .input-group .form-control {
-  display: table-cell;
-
   &:not(:first-child):not(:last-child) {
     border-radius: 0;
   }
@@ -63,7 +62,6 @@
 // Addon and addon wrapper for buttons
 .input-group-addon,
 .input-group-btn {
-  width: 1%;
   white-space: nowrap;
   vertical-align: middle; // Match the inputs
 }