diff --git a/jquery_update.module b/jquery_update.module
index 9e53f8a..2aee73d 100644
--- a/jquery_update.module
+++ b/jquery_update.module
@@ -78,8 +78,13 @@ 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) {
+  // Make sure this path is not excluded from update.
+  $current_path = $_GET['q'];
+  $update_exceptions = variable_get('jquery_update_exception_paths','');
+  $excluded = drupal_match_path($current_path,$update_exceptions);
+  
   // Only do this for pages that have JavaScript on them.
-  if (!empty($variables['scripts'])) {
+  if (!empty($variables['scripts']) && !$excluded) {
 
     // Perform the logic if either jQuery Update's jquery.js is newer than core's.
     if (variable_get('jquery_update_replace', TRUE)) {
@@ -175,6 +180,12 @@ function jquery_update_settings() {
     '#default_value' => variable_get('jquery_update_jquery_version', '1.3'),
     '#description' => t('Select which jQuery version branch to use.'),
   );
+  $form['jquery_update_exception_paths'] = array(
+    '#type' => 'textarea',
+    '#title' => t('Do NOT update jQuery on these pages'),
+    '#default_value' => variable_get('jquery_update_exception_paths', ''),
+    '#description' => t("Enter one page per line as Drupal paths. The '*' character is a wildcard. Example paths are blog for the blog page and blog/* for every personal blog. <front> is the front page."),
+  );
 
   return system_settings_form($form);
 }
