diff --git a/modules/overlay/overlay-parent.css b/modules/overlay/overlay-parent.css
index 115977b7a3afb8db107af3160ca0a9048c0db39d..70959766b5bbebd167023f4ba2e128ca1a1341ed 100644
--- a/modules/overlay/overlay-parent.css
+++ b/modules/overlay/overlay-parent.css
@@ -67,10 +67,14 @@
   margin: 0;
   padding: 0;
   overflow: visible;
+  background: #fff url(images/loading.gif) no-repeat 50% 50%;
   -webkit-box-shadow: 8px 8px 8px rgba(0,0,0,.5);
   -moz-box-shadow: 8px 8px 8px rgba(0,0,0,.5);
   box-shadow: 8px 8px 8px rgba(0,0,0,.5);
 }
+.overlay-loaded #overlay-container {
+  background: none;
+}
 .overlay #overlay-element {
   overflow: hidden;
 }
diff --git a/modules/overlay/overlay-parent.js b/modules/overlay/overlay-parent.js
index 88dd43aa103581e174ed80e50ed01909d8da2996..c79276f823cd9bed10150e4ffa01fc0960fcaea8 100644
--- a/modules/overlay/overlay-parent.js
+++ b/modules/overlay/overlay-parent.js
@@ -254,6 +254,12 @@ Drupal.overlay.create = function () {
 Drupal.overlay.load = function (url) {
   var self = this;
   var iframe = self.iframe.$element.get(0);
+  
+  // Add a loaded class to the overlay once the iframe is loaded.
+  $(iframe).load(function () {
+    $('.overlay').addClass('overlay-loaded');
+  });
+  
   // Get the document object of the iframe window.
   // @see http://xkr.us/articles/dom/iframe-document/
   var doc = (iframe.contentWindow || iframe.contentDocument);