diff --git a/js/osticket.js b/js/osticket.js
index da56eae131c794635febbb6de75618282327cdb0..d55ea886c1bb501b532dc815704cf50396217f42 100644
--- a/js/osticket.js
+++ b/js/osticket.js
@@ -136,16 +136,23 @@ showImagesInline = function(urls, thread_id) {
             e = $(el);
         if (info) {
             // Add a hover effect with the filename
-            var caption = $('<div class="image-hover">')
+            var timeout, caption = $('<div class="image-hover">');
+            e.wrap(caption).parent()
                 .hover(
-                    function() { $(this).find('.caption').slideDown(250); },
-                    function() { $(this).find('.caption').slideUp(250); }
+                    function() {
+                        var self = this;
+                        timeout = setTimeout(
+                            function() { $(self).find('.caption').slideDown(250); },
+                            500);
+                    },
+                    function() {
+                        clearTimeout(timeout);
+                        $(this).find('.caption').slideUp(250);
+                    }
                 ).append($('<div class="caption">')
                     .append('<span class="filename">'+info.filename+'</span>')
                     .append('<a href="'+info.download_url+'" class="action-button"><i class="icon-download-alt"></i> Download</a>')
-                )
-            caption.appendTo(e.parent())
-            e.appendTo(caption);
+                );
         }
     });
 
diff --git a/scp/js/ticket.js b/scp/js/ticket.js
index fb9f7370ed84ce178bdc0f233ef2ab16c066d7a4..ee78effcf71fa2af68800af1725df051ca53bc58 100644
--- a/scp/js/ticket.js
+++ b/scp/js/ticket.js
@@ -428,7 +428,8 @@ showImagesInline = function(urls, thread_id) {
             e = $(el);
         if (info) {
             // Add a hover effect with the filename
-            var timeout, caption = $('<div class="image-hover">')
+            var timeout, caption = $('<div class="image-hover">');
+            e.wrap(caption).parent()
                 .hover(
                     function() {
                         var self = this;
@@ -443,9 +444,7 @@ showImagesInline = function(urls, thread_id) {
                 ).append($('<div class="caption">')
                     .append('<span class="filename">'+info.filename+'</span>')
                     .append('<a href="'+info.download_url+'" class="action-button"><i class="icon-download-alt"></i> Download</a>')
-                )
-            caption.appendTo(e.parent())
-            e.appendTo(caption);
+                );
         }
     });
 }