diff --git a/jquery_update.install b/jquery_update.install
index eaefaec..a1f26ae 100644
--- a/jquery_update.install
+++ b/jquery_update.install
@@ -62,5 +62,7 @@ function jquery_update_update_6200() {
 function jquery_update_uninstall() {
   variable_del('jquery_update_replace');
   variable_del('jquery_update_compression_type');
+  variable_del('jquery_update_disable_admin');
+  variable_del('jquery_update_disable_node');
   variable_del('jquery_update_jquery_version');
 }
diff --git a/jquery_update.module b/jquery_update.module
index 9e53f8a..b73b204 100644
--- a/jquery_update.module
+++ b/jquery_update.module
@@ -11,24 +11,27 @@
  * @see hook_jquery_update_alter()
  */
 function jquery_update_jquery_update_alter(&$javascript) {
-  $path = drupal_get_path('module', 'jquery_update') . '/replace/';
-  $scripts = jquery_update_get_replacements();
-
-  // Replace jquery.js first.
-  $jquerypath = jquery_update_jquery_path();
-  $new_jquery = array($jquerypath => $javascript['core']['misc/jquery.js']);
-  $javascript['core'] = array_merge($new_jquery, $javascript['core']);
-  $javascript['core'][$jquerypath]['version'] = variable_get('jquery_update_jquery_version', '1.3');
-  unset($javascript['core']['misc/jquery.js']);
-
-  // Loop through each of the required replacements.
-  foreach ($scripts as $type => $replacements) {
-    foreach ($replacements as $find => $replace) {
-      // If the file to replace is loaded on this page...
-      if (isset($javascript[$type][$find])) {
-        // Create a new entry for the replacement file, and unset the original one.
-        $javascript[$type][$path . $replace] = $javascript[$type][$find];
-        unset($javascript[$type][$find]);
+  // Only override this page if configured.
+  if (jquery_update_override_jquery()) {
+    $path = drupal_get_path('module', 'jquery_update') . '/replace/';
+    $scripts = jquery_update_get_replacements();
+
+    // Replace jquery.js first.
+    $jquerypath = jquery_update_jquery_path();
+    $new_jquery = array($jquerypath => $javascript['core']['misc/jquery.js']);
+    $javascript['core'] = array_merge($new_jquery, $javascript['core']);
+    $javascript['core'][$jquerypath]['version'] = variable_get('jquery_update_jquery_version', '1.3');
+    unset($javascript['core']['misc/jquery.js']);
+
+    // Loop through each of the required replacements.
+    foreach ($scripts as $type => $replacements) {
+      foreach ($replacements as $find => $replace) {
+        // If the file to replace is loaded on this page...
+        if (isset($javascript[$type][$find])) {
+          // Create a new entry for the replacement file, and unset the original one.
+          $javascript[$type][$path . $replace] = $javascript[$type][$find];
+          unset($javascript[$type][$find]);
+        }
       }
     }
   }
@@ -78,19 +81,22 @@ function jquery_update_theme_registry_alter(&$theme_registry) {
  * Replace Drupal core's jquery.js with the new one from jQuery Update module.
  */
 function jquery_update_preprocess_page(&$variables) {
-  // Only do this for pages that have JavaScript on them.
-  if (!empty($variables['scripts'])) {
+  // Only override this page if configured.
+  if (jquery_update_override_jquery()) {
+    // Only do this for pages that have JavaScript on them.
+    if (!empty($variables['scripts'])) {
 
-    // Perform the logic if either jQuery Update's jquery.js is newer than core's.
-    if (variable_get('jquery_update_replace', TRUE)) {
-      // Get an array of all the JavaScript files loaded by Drupal on this page.
-      $javascript = drupal_add_js();
+      // Perform the logic if either jQuery Update's jquery.js is newer than core's.
+      if (variable_get('jquery_update_replace', TRUE)) {
+        // Get an array of all the JavaScript files loaded by Drupal on this page.
+        $javascript = drupal_add_js();
 
-      // Invoke hook_js_alter().
-      drupal_alter('jquery_update', $javascript);
+        // Invoke hook_js_alter().
+        drupal_alter('jquery_update', $javascript);
 
-      // Replace with all the new JavaScript.
-      $variables['scripts'] = drupal_get_js('header', $javascript);
+        // Replace with all the new JavaScript.
+        $variables['scripts'] = drupal_get_js('header', $javascript);
+      }
     }
   }
 }
@@ -176,6 +182,24 @@ function jquery_update_settings() {
     '#description' => t('Select which jQuery version branch to use.'),
   );
 
+  $form['options'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Optionally disable on certain pages'),
+    '#description' => t('On certain pages the overridden jQuery version may cause JS conflicts, these options allow the standard core version of jQuery to be used on specific pages.'),
+    '#collapsible' => FALSE,
+  );
+  $form['options']['jquery_update_disable_node'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Disable on node add/edit pages'),
+    '#default_value' => variable_get('jquery_update_disable_node', FALSE),
+  );
+
+  $form['options']['jquery_update_disable_admin'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Disable on admin pages'),
+    '#default_value' => variable_get('jquery_update_disable_admin', FALSE),
+  );
+
   return system_settings_form($form);
 }
 
@@ -195,3 +219,21 @@ function jquery_update_jquery_path() {
   $path = drupal_get_path('module', 'jquery_update') .'/replace/jquery/'. $version .'/';
   return $path . $jquery_file[$type];
 }
+
+/**
+ * Identify whether jQuery should be overridden for the current page.
+ */
+function jquery_update_override_jquery() {
+  // Optionally disable for
+  if (variable_get('jquery_update_disable_node', FALSE) && arg(0) == 'node'
+    && ((arg(1) == 'add' && arg(2) != '') || arg(2) == 'edit')) {
+    return FALSE;
+  }
+
+  // Optionally disable for admin pages.
+  if (variable_get('jquery_update_disable_admin', FALSE) && arg(0) == 'admin') {
+    return FALSE;
+  }
+
+  return TRUE;
+}
