diff --git a/js/modal.js b/js/modal.js
index 831649f..98d3554 100644
--- a/js/modal.js
+++ b/js/modal.js
@@ -468,9 +468,20 @@
       var winWidth = $(window).width();
       if( docHeight < winHeight ) docHeight = winHeight;
 
+      // Get scroll position.
+      // Position code lifted from http://www.quirksmode.org/viewport/compatibility.html
+      var winScroll;
+      if (self.pageYOffset) { // all except Explorer
+        winScroll = self.pageYOffset;
+      } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
+        winScroll = document.documentElement.scrollTop;
+      } else if (document.body) { // all other Explorers
+        winScroll = document.body.scrollTop;
+      }
+
       // Get where we should move content to
       var modalContent = $('#modalContent');
-      var mdcTop = ( winHeight / 2 ) - (  modalContent.outerHeight() / 2);
+      var mdcTop = winScroll + ( winHeight / 2 ) - (  modalContent.outerHeight() / 2);
       var mdcLeft = ( winWidth / 2 ) - ( modalContent.outerWidth() / 2);
 
       // Apply the changes
