diff --git a/admin_menu.js b/admin_menu.js
index 2e28b55..744b7be 100644
--- a/admin_menu.js
+++ b/admin_menu.js
@@ -106,6 +106,19 @@ Drupal.behaviors.adminMenuMarginTop = {
     if (!settings.admin_menu.suppress && settings.admin_menu.margin_top) {
       $('body:not(.admin-menu)', context).addClass('admin-menu');
     }
+
+    // Make the margin-top responsive.
+    $(window).resize(function() {
+      var height = Drupal.admin.height();
+      if (typeof height === 'number') {
+        var $body = $('body');
+        var style = $body.attr('style') || '';
+        var newStyle = style.replace(/margin-top: [0-9]*px !important;/, '');
+        newStyle += 'margin-top: ' + height + 'px !important;';
+        $body.attr('style', newStyle);
+      }
+
+    });
   }
 };
 
