diff --git menu_example/menu_example.module menu_example/menu_example.module
index 8b939c3..3da8f93 100644
--- menu_example/menu_example.module
+++ menu_example/menu_example.module
@@ -259,6 +259,36 @@ function menu_example_menu() {
     'access callback' => TRUE,
     'weight' => 70,
   );
+
+  // Through the menu system you can also add items to the contextual links
+  // menu. If you hover over a block while logged into the site you'll see a
+  // small gear icon appear. Click on this icon and the list of items that
+  // appears in the exposed menu are what Drupal calls contextual links.
+  //
+  // This example adds a contextual link named "Context Example" to the
+  // contextual links for all nodes on the site both when being displayed as a
+  // teaser, and when being displayed as a full page.
+  $items['node/%node/menu_example'] = array(
+    'title' => 'Context Example',
+    'page callback' => '_menu_example_node_page',
+    'page arguments' => array(1),
+    'access callback' => TRUE,
+    'weight' => 80,
+    'type' => MENU_LOCAL_TASK,
+    // For menu items of type = MENU_LOCAL_TASK you can optionally specify a
+    // context argument to have those menu items rendered in the contextual
+    // links drop down when the item is displayed. MENU_CONTEXT_PAGE displays
+    // the link as a tab on the page when it is being viewed. In this case when
+    // the node is being viewed at node/<nid>. MENU_CONTEXT_INLINE displays the
+    // link as part of the contextual links drop-down anywhere outside of the
+    // page context. For example when a teaser of the node is being displayed on
+    // the front page. You can specify either, or both by setting
+    // context = MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE. Setting both means the
+    // link will display both as a tab on the page, and as an entry in the
+    // contextual links drop-down.
+    'context' => MENU_CONTEXT_PAGE | MENU_CONTEXT_INLINE,
+  );
+
   return $items;
 }
 
@@ -300,6 +330,29 @@ function _menu_example_menu_page($content = NULL, $arg1 = NULL, $arg2 = NULL) {
 }
 
 /**
+ * Page callback for use with the contextual link example.
+ *
+ * @param $node
+ *   The node object loaded by node/%node/menu_example
+ */
+function _menu_example_node_page($node) {
+  $page = array();
+  $page['text'] = array(
+    '#markup' => t('You clicked on the "Example" contextual link for the node %node_title.', array('%node_title' => $node->title)),
+    '#prefix' => '<p>',
+    '#suffix' => '</p>'
+  );
+  $page['link'] = array(
+    '#type' => 'link',
+    '#title' => t('Return to previous page'),
+    '#href' => isset($_GET['destination']) ? $_GET['destination'] : 'node/' . $node->nid,
+    '#prefix' => '<p>',
+    '#suffix' => '</p>'
+  );
+  return $page;
+}
+
+/**
  * Implements hook_permission() to provide a demonstration access string.
  */
 function menu_example_permission() {
diff --git menu_example/menu_example.test menu_example/menu_example.test
index 9887142..6cef219 100644
--- menu_example/menu_example.test
+++ menu_example/menu_example.test
@@ -20,7 +20,7 @@ class MenuExampleTestCase extends DrupalWebTestCase {
    * Enable modules and create user with specific permissions.
    */
   public function setUp() {
-    parent::setUp('menu_example');
+    parent::setUp('contextual', 'menu_example');
   }
 
   /**
@@ -67,7 +67,7 @@ class MenuExampleTestCase extends DrupalWebTestCase {
     $this->assertText(t('Loaded value was jackpot! default'));
 
     // Create a user with permissions to access protected menu entry.
-    $web_user = $this->drupalCreateUser(array('access protected menu example'));
+    $web_user = $this->drupalCreateUser(array('access protected menu example', 'access contextual links'));
 
     // Use custom overridden drupalLogin function to verify the user is logged
     // in.
@@ -85,6 +85,13 @@ class MenuExampleTestCase extends DrupalWebTestCase {
     $this->assertResponse(200);
     $this->assertText('This menu entry will not show');
 
+    // Create a node and promote it to the front page. Then view the front page
+    // and verify that the "Example" contextual link works.
+    $node = $this->drupalCreateNode(array('type' => 'page', 'promote' => 1));
+    $this->drupalGet('');
+    $this->clickLink(t('Context Example'));
+    $this->assertText(t('You clicked on the "Example" contextual link for the node %node_title.', array('%node_title' => $node->title)));
+
     // Verify that the 'logout' link has been changed to 'salir', using an 
     // overridden drupalLogout function.
     $this->drupalLogout();
