diff --git a/modules/system/system.base.css b/modules/system/system.base.css
index 4ce63cf999559c72b3e77556c36d6dddd341c084..df97cd2bc400b8cf9d279b1dbc54e74d3def344e 100644
--- a/modules/system/system.base.css
+++ b/modules/system/system.base.css
@@ -242,19 +242,20 @@ html.js .js-hide {
 }
 
 /**
- * Markup free clearing.
+ * Float clearing.
  *
- * @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack
+ * Based on the micro clearfix hack by Nicolas Gallagher, with the :before
+ * pseudo selector removed to allow normal top margin collapse.
+ *
+ * @see http://nicolasgallagher.com/micro-clearfix-hack
  */
 .clearfix:after {
-  content: ".";
-  display: block;
-  height: 0;
+  content: "";
+  display: table;
   clear: both;
-  visibility: hidden;
 }
-/* IE7 */
-*:first-child + html .clearfix {
-  min-height: 1%;
+
+.clearfix {
+  zoom: 1; /* hasLayout trigger to clear floats in IE */
 }