diff --git a/docs/assets/css/bootstrap.css b/docs/assets/css/bootstrap.css
index d2b2c24424b790da33beb90e9df2f73b02fdb91c..6dfc380153957c4fb7736aec125aceb85ec94109 100644
--- a/docs/assets/css/bootstrap.css
+++ b/docs/assets/css/bootstrap.css
@@ -3286,11 +3286,6 @@ button.close {
           border-radius: 6px;
 }
 
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
-  margin-top: 2px;
-}
-
 .btn-small {
   padding: 2px 10px;
   font-size: 11.9px;
@@ -3299,11 +3294,6 @@ button.close {
           border-radius: 3px;
 }
 
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
-  margin-top: 0;
-}
-
 .btn-mini {
   padding: 0 6px;
   font-size: 10.5px;
@@ -3312,6 +3302,15 @@ button.close {
           border-radius: 3px;
 }
 
+.btn [class^="icon-"]:before {
+  vertical-align: -2px;
+}
+
+.btn-small [class^="icon-"]:before,
+.btn-mini [class^="icon-"]:before {
+  vertical-align: -1px;
+}
+
 .btn-block {
   display: block;
   width: 100%;
diff --git a/less/buttons.less b/less/buttons.less
index 4497d3acd7ad3b0bd2c2edc727c1c805f2980a3f..80a31fcf54623a30a0ef0ff34bfbc52e7a995889 100644
--- a/less/buttons.less
+++ b/less/buttons.less
@@ -72,10 +72,6 @@
   font-size: @fontSizeLarge;
   .border-radius(@borderRadiusLarge);
 }
-.btn-large [class^="icon-"],
-.btn-large [class*=" icon-"] {
-  margin-top: 2px;
-}
 
 // Small
 .btn-small {
@@ -83,10 +79,6 @@
   font-size: @fontSizeSmall;
   .border-radius(@borderRadiusSmall);
 }
-.btn-small [class^="icon-"],
-.btn-small [class*=" icon-"] {
-  margin-top: 0;
-}
 
 // Mini
 .btn-mini {
@@ -96,6 +88,14 @@
 }
 
 
+// Icons in buttons
+// -------------------------
+
+.btn [class^="icon-"]:before       { vertical-align: -2px; }
+.btn-small [class^="icon-"]:before,
+.btn-mini [class^="icon-"]:before  { vertical-align: -1px; }
+
+
 // Block button
 // -------------------------