diff --git a/scp/js/scp.js b/scp/js/scp.js
index a9660d18f5a6322fff10dfaa1547132e94cb7e58..a243d7cb4f33bc79fbeb033d6e4774fa2a3fdc60 100644
--- a/scp/js/scp.js
+++ b/scp/js/scp.js
@@ -376,11 +376,16 @@ $(document).ready(function(){
         return false;
     });
 
-    $(document).keydown(function(e) {        
-        if (e.keyCode == 27) {
+    $(document).keydown(function(e) {
+
+        if (e.keyCode == 27 && !$('#overlay').is(':hidden')) {
             $('div.dialog').hide();
             $('#overlay').hide();
-        }  
+
+            e.preventDefault();
+            e.stopPropagation();
+            return false;
+        }
     });
 
     /* advanced search */