diff --git a/sites/all/modules/contrib/extlink/extlink.js b/sites/all/modules/contrib/extlink/extlink.js
index 84e7b17..2adc7ac 100644
--- a/sites/all/modules/contrib/extlink/extlink.js
+++ b/sites/all/modules/contrib/extlink/extlink.js
@@ -33,6 +33,12 @@ function extlinkAttach(context) {
     extExclude = new RegExp(Drupal.settings.extlink.extExclude.replace(/\\/, '\\'));
   }
 
+  // Extra external link CSS selector exclusion.
+  var extCssExclude = false;
+  if (Drupal.settings.extlink.extCssExclude) {
+    extCssExclude = Drupal.settings.extlink.extCssExclude;
+  }
+
   // Find all links which are NOT internal and begin with http (as opposed
   // to ftp://, javascript:, etc. other kinds of links.
   // When operating on the 'this' variable, the host has been appended to
@@ -44,10 +50,13 @@ function extlinkAttach(context) {
   $("a:not(." + Drupal.settings.extlink.extClass + ", ." + Drupal.settings.extlink.mailtoClass + ")", context).each(function(el) {
     try {
       var url = this.href.toLowerCase();
-      if (url.indexOf('http') == 0 && (!url.match(internal_link) || (extInclude && url.match(extInclude))) && !(extExclude && url.match(extExclude))) {
+      if (url.indexOf('http') == 0 
+              && (!url.match(internal_link) || (extInclude && url.match(extInclude))) 
+              && !(extExclude && url.match(extExclude)) 
+              && !(extCssExclude && $(this).parents(extCssExclude).length > 0)) {
         external_links.push(this);
       }
-      else if (url.indexOf('mailto:') == 0) {
+      else if (url.indexOf('mailto:') == 0 && !(extCssExclude && $(this).parents(extCssExclude).length > 0)) {
         mailto_links.push(this);
       }
     }
diff --git a/sites/all/modules/contrib/extlink/extlink.module b/sites/all/modules/contrib/extlink/extlink.module
index 70d6f56..a36bf60 100644
--- a/sites/all/modules/contrib/extlink/extlink.module
+++ b/sites/all/modules/contrib/extlink/extlink.module
@@ -26,6 +26,7 @@ function extlink_init() {
     'extSubdomains' => variable_get('extlink_subdomains', 1),
     'extExclude'    => variable_get('extlink_exclude', ''),
     'extInclude'    => variable_get('extlink_include', ''),
+    'extCssExclude' => variable_get('extlink_css_exclude', ''),
     'extAlert'      => variable_get('extlink_alert', 0),
     'extAlertText'  => variable_get('extlink_alert_text', 'This link will take you to an external web site. We are not responsible for their content.'),
     'mailtoClass'   => variable_get('extlink_mailto_class', 'mailto'))), 'setting'
@@ -136,5 +137,23 @@ function extlink_admin_settings() {
     '#description' => t('Enter a regular expression for internal links that you wish to be considered external.'),
   );
 
+  $form['css_exclude'] = array(
+    '#tree' => FALSE,
+    '#type' => 'fieldset',
+    '#title' => t('CSS Exclusion'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+    '#description' =>
+      '<p>' . t('Exclude external links from looking inside specific CSS selectors.  These will be passed straight to jQuery for matching.') . '</p>',
+  );
+
+  $form['css_exclude']['extlink_css_exclude'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Exclude links inside these CSS selectors'),
+    '#maxlength' => NULL,
+    '#default_value' => variable_get('extlink_css_exclude', ''),
+    '#description' => t('Enter a comma-separated list of CSS selectors (ie "#block-block-2 .content, ul.menu")'),
+  );
+
   return system_settings_form($form);
 }
