diff --git a/advagg_mod/advagg_mod.install b/advagg_mod/advagg_mod.install
new file mode 100644
index 0000000..64716cb
--- /dev/null
+++ b/advagg_mod/advagg_mod.install
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * @file
+ * Handles Advanced Aggregation mod submodule installation and upgrade tasks.
+ */
+
+use Drupal\Core\Url;
+
+/**
+ * Implements hook_update_N().
+ *
+ * Set the css_defer_admin setting value.
+ */
+function advagg_mod_update_8201() {
+  \Drupal::service('config.factory')
+    ->getEditable('advagg_mod.settings')
+    ->set('css_defer_admin', FALSE)
+    ->save();
+}
diff --git a/advagg_mod/advagg_mod.module b/advagg_mod/advagg_mod.module
index 9d5a750..d31d073 100644
--- a/advagg_mod/advagg_mod.module
+++ b/advagg_mod/advagg_mod.module
@@ -16,7 +16,7 @@ function advagg_mod_js_alter(&$js) {
   $config = \Drupal::config('advagg_mod.settings');

   $css_defer = $config->get('css_defer');
-  if ($css_defer) {
+  if (advagg_mod_css_defer_active()) {
     if ($css_defer == 3) {
       $js['modules/advagg/advagg_mod/js/loadCSS.js']['scope'] = 'header';
       $js['modules/advagg/advagg_mod/js/css_defer.js']['scope'] = 'header';
@@ -104,8 +104,7 @@ function advagg_mod_css_alter(&$css) {
  * Implements hook_page_attachments_alter().
  */
 function advagg_mod_page_attachments_alter(array &$page) {
-  $config = \Drupal::config('advagg_mod.settings');
-  if ($config->get('css_defer')) {
+  if (advagg_mod_css_defer_active()) {
     $page['#attached']['library'][] = 'advagg_mod/css_defer';
   }
 }
@@ -122,14 +121,12 @@ function advagg_mod_advagg_current_hooks_hash_array_alter(array &$aggregate_sett
  * Implements hook_advagg_asset_render_alter().
  */
 function advagg_mod_advagg_asset_render_alter(&$assets, $render_type, $asset_type) {
-  $config = \Drupal::config('advagg_mod.settings');
   if (!advagg_enabled()) {
     return;
   }

   if ($render_type == 'html') {
     if ($asset_type == 'styles') {
-      $css_defer = $config->get('css_defer');
       foreach ($assets as &$value) {
         if (!empty($value['#inline'])) {
           $value['#value'] = @file_get_contents($value['#attributes']['href']);
@@ -137,7 +134,7 @@ function advagg_mod_advagg_asset_render_alter(&$assets, $render_type, $asset_typ
             unset($value['#attributes']['href']);
           }
         }
-        elseif ($css_defer) {
+        elseif (advagg_mod_css_defer_active()) {
           // Skip prefetch links and inline styles.
           if ($value['#tag'] == 'style') {
             continue;
@@ -431,3 +428,19 @@ function advagg_mod_sort_css_js(array &$assets, $type) {
     }
   }
 }
+
+/**
+ * Determines whether css defering should be active for the current request.
+ */
+function advagg_mod_css_defer_active() {
+  $config = \Drupal::config('advagg_mod.settings');
+  if (!$config->get('css_defer')) {
+    return FALSE;
+  }
+  $admin_route = \Drupal::service('router.admin_context')->isAdminRoute();
+  if ($admin_route && !$config->get('css_defer_admin')) {
+    return FALSE;
+  }
+  return TRUE;
+}
+
diff --git a/advagg_mod/config/install/advagg_mod.settings.yml b/advagg_mod/config/install/advagg_mod.settings.yml
index f3a2faa..482b22d 100644
--- a/advagg_mod/config/install/advagg_mod.settings.yml
+++ b/advagg_mod/config/install/advagg_mod.settings.yml
@@ -1,6 +1,7 @@
 css_adjust_sort_browsers: false
 css_adjust_sort_external: false
 css_defer: 0
+css_defer_admin: false
 css_defer_js_code: 0
 css_preprocess: false
 css_translate: false
diff --git a/advagg_mod/config/schema/advagg_mod.schema.yml b/advagg_mod/config/schema/advagg_mod.schema.yml
index 4e935ec..5e81737 100644
--- a/advagg_mod/config/schema/advagg_mod.schema.yml
+++ b/advagg_mod/config/schema/advagg_mod.schema.yml
@@ -11,6 +11,9 @@ advagg_mod.settings:
     css_defer:
       type: integer
       label: 'Default value to use JavaScript to defer CSS loading.'
+    css_defer_admin:
+      type: boolean
+      label: 'Whether to defer loading of CSS on the admin theme.'
     css_defer_js_code:
       type: integer
       label: 'Default value of the inclusion method for the loadCSS code.'
diff --git a/advagg_mod/src/Form/SettingsForm.php b/advagg_mod/src/Form/SettingsForm.php
index 67d8025..11a54e6 100644
--- a/advagg_mod/src/Form/SettingsForm.php
+++ b/advagg_mod/src/Form/SettingsForm.php
@@ -258,6 +258,17 @@ class SettingsForm extends ConfigFormBase {
         '@link' => 'http://stackoverflow.com/questions/19374843/css-delivery-optimization-how-to-defer-css-loading',
       ]),
     ];
+    $form['css']['placement']['expert']['css_defer_admin'] = [
+      '#type' => 'checkbox',
+      '#title' => t('Use JS to load CSS in the admin theme'),
+      '#default_value' => $config->get('css_defer_admin'),
+      '#description' => t('This will optimize CSS delivery with JavaScript when viewing the admin theme'),
+      '#states' => [
+        'disabled' => [
+          ':input[name="css_defer"]' => ['value' => '0'],
+        ],
+      ],
+    ];
     $form['css']['placement']['expert']['css_defer_js_code'] = [
       '#type' => 'radios',
       '#title' => t('How to include the JS loading code'),
@@ -307,6 +318,7 @@ class SettingsForm extends ConfigFormBase {
       ->set('css_adjust_sort_browsers', $form_state->getValue('css_adjust_sort_browsers'))
       ->set('css_adjust_sort_external', $form_state->getValue('css_adjust_sort_external'))
       ->set('css_defer', $form_state->getValue('css_defer'))
+      ->set('css_defer_admin', $form_state->getValue('css_defer_admin'))
       ->set('css_defer_js_code', $form_state->getValue('css_defer_js_code'))
       ->set('css_preprocess', $form_state->getValue('css_preprocess'))
       ->set('css_translate', $form_state->getValue('css_translate'))
