diff --git a/chosen.admin.inc b/chosen.admin.inc
index 446c42a..8cfc9fd 100644
--- a/chosen.admin.inc
+++ b/chosen.admin.inc
@@ -51,7 +51,7 @@ function chosen_admin_settings($form, &$form_state) {
     '#default_value' => variable_get('chosen_minimum_width', 200),
     '#description' => t('The minimum width of the Chosen widget.'),
   );
-  
+
   $form['chosen_jquery_selector'] = array(
     '#type' => 'textarea',
     '#title' => t('Apply Chosen to the following elements'),
@@ -76,6 +76,12 @@ function chosen_admin_settings($form, &$form_state) {
     '#default_value' => variable_get('chosen_disable_search', FALSE),
     '#description' => t('Enable or disable the search box in the results list to filter out possible options.'),
   );
+  $form['options']['chosen_admin_theme'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Use chosen in the admin theme'),
+    '#default_value' => variable_get('chosen_admin_theme', TRUE),
+    '#description' => t('Enable or disable using chosen in the admin theme.'),
+  );
   $form['options']['chosen_use_theme'] = array(
     '#type' => 'checkbox',
     '#title' => t('Use the default chosen theme'),
diff --git a/chosen.install b/chosen.install
index 06f9739..42691fc 100644
--- a/chosen.install
+++ b/chosen.install
@@ -59,6 +59,7 @@ function chosen_uninstall() {
   variable_del('chosen_use_theme');
   variable_del('chosen_disable_search');
   variable_del('chosen_disable_search_threshold');
+  variable_del('chosen_admin_theme');
 }
 
 /**
diff --git a/chosen.module b/chosen.module
index cf0401a..00f68c8 100644
--- a/chosen.module
+++ b/chosen.module
@@ -179,35 +179,39 @@ function chosen_element_info_alter(&$info) {
  * Implementation of chosen_pre_render_select().
  */
 function chosen_pre_render_select($element) {
-  $field_info = isset($element['#field_name']) ? field_info_field($element['#field_name']) : FALSE;
-
-  $element_name = $element['#name'];
-  if(!empty($element['#multiple'])) {
-    // We need to add those brackets for multivalue fields.
-    $element_name = $element['#name'] . '[]';
-  }
+  $is_admin = path_is_admin(current_path()));
+  // Exclude chosen from admin pages.
+  if (!$is_admin || variable_get('chosen_admin_theme', TRUE)) {
+    $field_info = isset($element['#field_name']) ? field_info_field($element['#field_name']) : FALSE;
+
+    $element_name = $element['#name'];
+    if(!empty($element['#multiple'])) {
+      // We need to add those brackets for multivalue fields.
+      $element_name = $element['#name'] . '[]';
+    }
 
-  $max_selected_options = FALSE;
-  if (isset($field_info['cardinality'])) {
-    if ($field_info['cardinality'] != FIELD_CARDINALITY_UNLIMITED) {
-      $max_selected_options = $field_info['cardinality'];
+    $max_selected_options = FALSE;
+    if (isset($field_info['cardinality'])) {
+      if ($field_info['cardinality'] != FIELD_CARDINALITY_UNLIMITED) {
+        $max_selected_options = $field_info['cardinality'];
+      }
     }
-  }
 
-  $element['#attached']['library'][] = array('chosen', 'drupal.chosen');
-  $element['#attached']['js'][] = array(
-    'data' => array(
-      'chosen' => array(
-        'multiple' => array(
-          $element_name => isset($element['#multiple']) ? $element['#multiple'] : FALSE,
-        ),
-        'max_selected_options' => array(
-          $element_name => $max_selected_options,
+    $element['#attached']['library'][] = array('chosen', 'drupal.chosen');
+    $element['#attached']['js'][] = array(
+      'data' => array(
+        'chosen' => array(
+          'multiple' => array(
+            $element_name => isset($element['#multiple']) ? $element['#multiple'] : FALSE,
+          ),
+          'max_selected_options' => array(
+            $element_name => $max_selected_options,
+          ),
         ),
       ),
-    ),
-    'type' => 'setting',
-  );
+      'type' => 'setting',
+    );
+  }
 
   return $element;
 }
