diff --git a/save_draft.install b/save_draft.install
new file mode 100644
index 0000000..0234b90
--- /dev/null
+++ b/save_draft.install
@@ -0,0 +1,15 @@
+<?php
+
+/**
+ * @file
+ * Installation file for the save draft module
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function save_draft_uninstall() {
+  foreach (node_type_get_names('names') as $type => $type_name) {
+    variable_del('save_draft_' . $type);
+  }
+}
diff --git a/save_draft.js b/save_draft.js
index f7fa45f..3833abf 100644
--- a/save_draft.js
+++ b/save_draft.js
@@ -21,4 +21,22 @@ Drupal.behaviors.saveDraftFieldsetSummaries = {
   }
 };
 
+Drupal.behaviors.moreSaveDraftFieldsetSummaries = {
+  attach: function (context) {
+    $('fieldset#edit-save-draft', context).drupalSetSummary(function (context) {
+
+      // Retrieve the value of the selected radio button
+      var save_draft = $("input[@name=#edit-savedraft]:checked").val();
+
+      if (save_draft == 0) {
+        return Drupal.t('Disabled');
+      }
+      else if (save_draft == 1) {
+        return Drupal.t('Enabled');
+      }
+
+    });
+  }
+};
+
 })(jQuery);
diff --git a/save_draft.module b/save_draft.module
index 6e0123a..4fc769d 100644
--- a/save_draft.module
+++ b/save_draft.module
@@ -5,6 +5,9 @@
  * Main file for the Save Draft module, which adds a 'Save as draft' button to content types.
  */
 
+define('SAVE_DRAFT_DISABLED', 0);
+define('SAVE_DRAFT_ENABLED', 1);
+
 /**
  * Implements hook_permission().
  */
@@ -27,7 +30,7 @@ function save_draft_permission() {
  * unpublished.
  */
 function save_draft_form_node_form_alter(&$form, &$form_state) {
-  if (save_draft_access($form, $form_state)) {
+  if (save_draft_access($form, $form_state) && save_draft_get_setting($form['#node']->type) == SAVE_DRAFT_ENABLED) {
     // Remove the status checkbox from the options fieldset, and adjust the
     // fieldset accordingly.
     if (isset($form['options']['status'])) {
@@ -95,6 +98,43 @@ function save_draft_validate($form, &$form_state) {
 }
 
 /**
+ * Implements hook_form_FORM_ID_alter() for the node type form.
+ */
+function save_draft_form_node_type_form_alter(&$form, &$form_state) {
+  $default_value = save_draft_get_setting($form['#node_type']->type);
+
+  $form['save_draft'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Enable "Save draft" button'),
+    '#weight' => 0,
+    '#collapsible' => TRUE,
+    '#collapsed' => !$default_value,
+    '#group' => 'additional_settings',
+    '#attached' => array(
+      'js' => array(
+        'save-draft' => drupal_get_path('module', 'save_draft') . '/save_draft.js',
+      ),
+    ),
+  );
+
+  $form['save_draft']['save_draft'] = array(
+    '#type' => 'radios',
+    '#default_value' => $default_value,
+    '#options' => array(
+      1 => t('Enabled'),
+      0 => t('Disabled'),
+    )
+  );
+}
+
+/**
+ * Gets the save draft setting associated with the given content type.
+ */
+function save_draft_get_setting($type) {
+  return variable_get('save_draft_' . $type, SAVE_DRAFT_ENABLED);
+}
+
+/**
  * Returns TRUE if the currently logged in user has permission to choose the published state for the node being edited.
  */
 function save_draft_access($form, &$form_state) {
@@ -132,3 +172,10 @@ function save_draft_access($form, &$form_state) {
 
   return $access;
 }
+
+/**
+ * Implements hook_node_type_delete().
+ */
+function save_draft_node_type_delete($info) {
+  variable_del('save_draft_' . $info->type);
+}
