diff --git a/config/install/extlink.settings.yml b/config/install/extlink.settings.yml
index fa202a6..50bb2e3 100644
--- a/config/install/extlink.settings.yml
+++ b/config/install/extlink.settings.yml
@@ -1,4 +1,5 @@
 extlink_target: false
+extlink_target_no_override: false
 extlink_nofollow: false
 extlink_subdomains: true
 extlink_alert: false
diff --git a/config/schema/extlink.schema.yml b/config/schema/extlink.schema.yml
index d4f7b60..b3b831a 100644
--- a/config/schema/extlink.schema.yml
+++ b/config/schema/extlink.schema.yml
@@ -7,6 +7,9 @@ extlink.settings:
     extlink_target:
       type: boolean
       label: 'Open external links in a new window'
+    extlink_target_no_override:
+      type: boolean
+      label: 'Do not override target="*" if set'
     extlink_nofollow:
       type: boolean
       label: 'Tag external links as "no follow"'
diff --git a/extlink.js b/extlink.js
index 02a6c97..bfafe71 100644
--- a/extlink.js
+++ b/extlink.js
@@ -108,7 +108,10 @@
 
     if (drupalSettings.data.extlink.extTarget) {
       // Apply the target attribute to all links.
-      $(external_links).attr({target: '_blank'});
+      $(external_links).filter(function() {
+        // Filter out links with target set if option specified.
+        return !(drupalSettings.data.extlink.extTargetNoOverride && $(this).is('a[target]'));
+      }).attr({target: '_blank'});
 
       // Add noopener and noreferrer rel attributes to combat phishing.
       $(external_links).attr('rel', function (i, val) {
diff --git a/extlink.module b/extlink.module
index 82c19d0..4384a07 100644
--- a/extlink.module
+++ b/extlink.module
@@ -47,19 +47,20 @@ function extlink_page_attachments(array &$attachments) {
   \Drupal::moduleHandler()->alter('extlink_css_exclude', $cssExclude);
 
   $attachments['#attached']['drupalSettings']['data']['extlink'] = [
-    'extTarget'      => $config->get('extlink_target'),
-    'extNofollow'    => $config->get('extlink_nofollow'),
-    'extClass'       => $config->get('extlink_class'),
-    'extLabel'       => Html::escape($config->get('extlink_label')),
-    'extImgClass'    => $config->get('extlink_img_class'),
-    'extSubdomains'  => $config->get('extlink_subdomains'),
-    'extExclude'     => $config->get('extlink_exclude'),
-    'extInclude'     => $config->get('extlink_include'),
-    'extCssExclude'  => $cssExclude,
-    'extCssExplicit' => $config->get('extlink_css_explicit'),
-    'extAlert'       => $config->get('extlink_alert'),
-    'extAlertText'   => $config->get('extlink_alert_text'),
-    'mailtoClass'    => $config->get('extlink_mailto_class'),
-    'mailtoLabel'    => Html::escape($config->get('extlink_mailto_label')),
+    'extTarget'           => $config->get('extlink_target'),
+    'extTargetNoOverride' => $config->get('extlink_target_no_override'),
+    'extNofollow'         => $config->get('extlink_nofollow'),
+    'extClass'            => $config->get('extlink_class'),
+    'extLabel'            => Html::escape($config->get('extlink_label')),
+    'extImgClass'         => $config->get('extlink_img_class'),
+    'extSubdomains'       => $config->get('extlink_subdomains'),
+    'extExclude'          => $config->get('extlink_exclude'),
+    'extInclude'          => $config->get('extlink_include'),
+    'extCssExclude'       => $cssExclude,
+    'extCssExplicit'      => $config->get('extlink_css_explicit'),
+    'extAlert'            => $config->get('extlink_alert'),
+    'extAlertText'        => $config->get('extlink_alert_text'),
+    'mailtoClass'         => $config->get('extlink_mailto_class'),
+    'mailtoLabel'         => Html::escape($config->get('extlink_mailto_label')),
   ];
 }
diff --git a/src/Form/ExtlinkAdminSettingsForm.php b/src/Form/ExtlinkAdminSettingsForm.php
index 52d6b39..a1e99cf 100644
--- a/src/Form/ExtlinkAdminSettingsForm.php
+++ b/src/Form/ExtlinkAdminSettingsForm.php
@@ -62,6 +62,18 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
       '#default_value' => $config->get('extlink_target'),
     ];
 
+    $form['extlink_target_no_override'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Do not alter links with a default target value'),
+      '#default_value' => $config->get('extlink_target_no_override'),
+      '#description' => $this->t("A link that specifies target=\"_self\" will not be changed to tareget=\"_blank\"."),
+      '#states' => [
+        'visible' => [
+          ':input[name="extlink_target"]' => ['checked' => TRUE],
+        ],
+      ],
+    ];
+
     $form['extlink_nofollow'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Tag external links as "no follow".'),
@@ -186,6 +198,7 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
       ->set('extlink_alert_text', $values['extlink_alert_text'])
       ->set('extlink_alert', $values['extlink_alert'])
       ->set('extlink_target', $values['extlink_target'])
+      ->set('extlink_target_no_override', $values['extlink_target_no_override'])
       ->set('extlink_nofollow', $values['extlink_nofollow'])
       ->set('extlink_subdomains', $values['extlink_subdomains'])
       ->set('extlink_mailto_class', $values['extlink_mailto_class'])
