diff --git misc/contextual_links.js misc/contextual_links.js
index f408842..00f45dd 100644
--- misc/contextual_links.js
+++ misc/contextual_links.js
@@ -8,7 +8,9 @@ Drupal.contextualLinks = Drupal.contextualLinks || {};
  */
 Drupal.behaviors.contextualLinks = {
   attach: function (context) {
-    $('ul.contextual-links', context).once('contextual-links', function () {
+    $('.contextual-links-region').once('contextual-links-region', function () {
+      // Hide all links.
+      $("ul.contextual-links", $(this)).hide();
       $(this).hover(Drupal.contextualLinks.hover, Drupal.contextualLinks.hoverOut);
     });
   }
@@ -18,16 +20,20 @@ Drupal.behaviors.contextualLinks = {
  * Enables outline for the region contextual links are associated with.
  */
 Drupal.contextualLinks.hover = function () {
-  $(this).addClass('contextual-links-link-active')
-    .closest('.contextual-links-region').addClass('contextual-links-region-active');
+  $("ul.contextual-links", $(this)).addClass('contextual-links-link-active');
+  $("ul.contextual-links", $(this)).show();
+  $(this)
+    .addClass('contextual-links-region-active');
 };
 
 /**
  * Disables outline for the region contextual links are associated with.
  */
 Drupal.contextualLinks.hoverOut = function () {
-  $(this).removeClass('contextual-links-link-active')
-    .closest('.contextual-links-region').removeClass('contextual-links-region-active');
+  $("ul.contextual-links", $(this)).hide();
+  $("ul.contextual-links", $(this)).removeClass('contextual-links-link-active');
+  $(this)
+    .removeClass('contextual-links-region-active');
 };
 
 })(jQuery);
