diff -rupN crmapi_node/crmapi_node.js crmapi_node_diff/crmapi_node.js
--- crmapi_node/crmapi_node.js	Wed Dec 31 19:00:00 1969
+++ crmapi_node_diff/crmapi_node.js	Wed Feb 22 16:23:46 2012
@@ -0,0 +1,21 @@
+$(document).ready(function() {
+  var check1Sel, check2Sel;
+  check1sel = '#edit-crmapi-options-recurring-options';
+  check2sel = '#edit-crmapi-options-recurring';
+  $(check1sel).click(function() {
+    if ($(this).is(':checked')) {
+      $(check2sel).attr('disabled', true);
+    }
+    else {
+      $(check2sel).attr('disabled', false);
+    }
+  });
+  $(check2sel).click(function() {
+    if ($(this).is(':checked')) {
+      $(check1sel).attr('disabled', true);
+    }
+    else {
+      $(check1sel).attr('disabled', false);
+    }
+  });
+});
\ No newline at end of file
diff -rupN crmapi_node/crmapi_node.module crmapi_node_diff/crmapi_node.module
--- crmapi_node/crmapi_node.module	Wed Feb 22 17:47:56 2012
+++ crmapi_node_diff/crmapi_node.module	Wed Feb 22 17:27:38 2012
@@ -122,6 +122,7 @@ function crmapi_node_form($node, $form_v
  * everyone else's alterings, e.g. taxonomy, menu, etc.
  */
 function crmapi_node_form_alter(&$form, $form_state, $form_id) {
+  drupal_add_js(drupal_get_path('module', 'crmapi_node') . '/crmapi_node.js');
   $type = node_get_types('type', $node);
   //dsm($form_id);
   if ($form_id == 'crmapi_node_node_form') {
@@ -250,13 +251,22 @@ function crmapi_node_form_alter(&$form, 
           '#description' => t('A list of selectable amounts. One option per line. Key-value pairs may be entered seperated by pipes, such as "safe_key|Some readable option".'),
           '#required' => TRUE,
         );
-        //dsm($form);
+	$form['crmapi_options']['recurring_options'] = array(
+          '#title' => 'Disable recurring contributions for this form?',
+          '#type' => 'checkbox',
+          '#default_value' => (!empty($node->crmapi_options)) ? $node->crmapi_options['recurring_options'] : 0,
+          '#description' => t('Disable the recurring option for a contribution form. It is, by default, enabled.'),
+	  '#disabled' => $node->crmapi_options['recurring'],
+
+        );
         $form['crmapi_options']['recurring'] = array(
           '#title' => 'Force recurring',
           '#type' => 'checkbox',
           '#default_value' => (!empty($node->crmapi_options)) ? $node->crmapi_options['recurring'] : 0,
           '#description' => t('Turn recurring on automatically (useful for subscription forms).'),
+	  '#disabled' => $node->crmapi_options['recurring_options'],
         );
+
         $periods = array(
           'MONT' => 'Monthly',
           'WEEK' => 'Weekly',
@@ -357,6 +367,14 @@ function crmapi_node_form_alter(&$form, 
           unset($form['payment']['recurring_month']);
           unset($form['payment']['recurring_year']);
         }
+	if (!empty($node->crmapi_options['recurring_options']) && ($node->crmapi_options['recurring_options'] == TRUE)) {
+	  unset($form['payment']['recurring_enable']);
+	  unset($form['payment']['recurring_month']);
+	  unset($form['payment']['recurring_year']);
+	  unset($form['payment']['recurring_select']);
+	  unset($form['payment']['recurring_period']);
+	  unset($form['payment']['recurring']);
+	}
         if ($node->section != 'user') {
           $form['redirect_url'] = array(
             '#type' => 'value',
