diff --git a/includes/menu.inc b/includes/menu.inc
index f23eb0d..ba2a413 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -2106,7 +2106,7 @@ function menu_local_tasks($level = 0) {
  * @return
  *   A list of menu router items that are local tasks for the passed-in path.
  *
- * @see contextual_links_preprocess()
+ * @see contextual_pre_render_links()
  */
 function menu_contextual_links($module, $parent_path, $args) {
   static $path_empty = array();
diff --git a/modules/contextual/contextual.module b/modules/contextual/contextual.module
index e3c0f8b..a3b1e0a 100644
--- a/modules/contextual/contextual.module
+++ b/modules/contextual/contextual.module
@@ -72,6 +72,7 @@ function contextual_element_info() {
         array('contextual', 'contextual-links'),
       ),
     ),
+    '#access' => user_access('access contextual links'),
   );
   return $types;
 }
@@ -82,11 +83,6 @@ function contextual_element_info() {
  * @see contextual_pre_render_links()
  */
 function contextual_preprocess(&$variables, $hook) {
-  // Nothing to do here if the user is not permitted to access contextual links.
-  if (!user_access('access contextual links')) {
-    return;
-  }
-
   $hooks = theme_get_registry(FALSE);
 
   // Determine the primary theme function argument.
@@ -165,4 +161,3 @@ function contextual_pre_render_links($element) {
 
   return $element;
 }
-
