diff --git a/cpn.admin.inc b/cpn.admin.inc
index 5d98af5..19205c5 100644
--- a/cpn.admin.inc
+++ b/cpn.admin.inc
@@ -31,6 +31,13 @@ function cpn_settings($form, &$form_state) {
     '#description' => t('The path where Code per Node will store files. Note: changing this path will cause the old path to move to the new path, overwriting the new path, if it exists.'),
   );
 
+  $form['cpn_preprocess'] = array(
+    '#title' => t('Preprocess CSS / JS?'),
+    '#type' => 'checkbox',
+    '#default_value' => variable_get('cpn_preprocess', FALSE),
+    '#description' => t('Optionally aggregate the per-block, per-content type and per-node CSS and JS along with other site files. It is recommended to disable this.'),
+  );
+
   $form['#submit'][] = 'cpn_settings_submit';
   return system_settings_form($form);
 }
diff --git a/cpn.install b/cpn.install
index 618f52f..f44c39f 100644
--- a/cpn.install
+++ b/cpn.install
@@ -52,6 +52,7 @@ function cpn_uninstall() {
   // Delete variables.
   variable_del('cpn_syntax_highlighting');
   variable_del('cpn_path');
+  variable_del('cpn_preprocess');
   foreach (array_keys(node_type_get_types()) as $type) {
     variable_del('cpn_css_' . $type);
     variable_del('cpn_js_' . $type);
@@ -109,3 +110,11 @@ function cpn_update_7000() {
     }
   }
 }
+
+/**
+ * Enable preprocessing for existing sites to be backwards compatible, though
+ * the default for new installs is to disable preprocessing.
+ */
+function cpn_update_7001() {
+  variable_set('cpn_preprocess', TRUE);
+}
diff --git a/cpn.module b/cpn.module
index ee701ec..30310fd 100644
--- a/cpn.module
+++ b/cpn.module
@@ -257,6 +257,8 @@ function cpn_node_view($node, $view_mode, $langcode) {
 
   // Viewing: add files to the page (but only if they exist).
   else {
+    // Optionally preprocess the custom CSS.
+    $preprocess = variable_get('cpn_preprocess', FALSE);
     foreach (array('css', 'js') as $type) {
       $file = variable_get('cpn_path', 'public://cpn') . '/' . $node->nid . '.' . $type;
       if (is_file($file)) {
@@ -265,6 +267,7 @@ function cpn_node_view($node, $view_mode, $langcode) {
           'group' => $type == 'css' ? CSS_THEME : JS_THEME,
           'weight' => $type == 'css' ? CSS_THEME : JS_THEME,
           'data' => $file,
+          'preprocess' => $preprocess,
         );
       }
     }
