diff --git a/includes/simplenews.admin.inc b/includes/simplenews.admin.inc
index 863b893..511c368 100644
--- a/includes/simplenews.admin.inc
+++ b/includes/simplenews.admin.inc
@@ -1217,53 +1217,6 @@ function simplenews_subscription_delete_multiple($snids = array()) {
   }
 }
 
-
-/**
- * Menu callback: Simplenews admin settings - General.
- *
- * @todo Delete this for if there is not more use for it.
- */
-function simplenews_admin_settings($form, &$form_state) {
-  $vid = variable_get('simplenews_vid', '');
-  $form = array();
-
-  $vocabulary_options = array('' => t('- select -'));
-  if ($vocabularies = taxonomy_get_vocabularies()) {
-    foreach ($vocabularies as $key => $object) {
-      $vocabulary_options[$key] = $object->name;
-    }
-  }
-  $form['simplenews_vid'] = array(
-    '#type' => 'select',
-    '#title' => t('Newsletter vocabulary'),
-    '#options' =>  $vocabulary_options,
-    '#required' => TRUE,
-    '#description' => t('This vocabulary identifies newsletter categories. Note that changing this vocabulary will require existing newsletters to be re-tagged and activated newsletter blocks to be re-activated.'),
-    '#default_value' => variable_get('simplenews_vid', ''),
-  );
-
-  $field_options = array();
-  $field_info = field_info_fields();
-  foreach (field_info_instances('node') as $bundle => $instances) {
-    if (simplenews_check_node_types(array($bundle))) {
-      foreach ($instances as $field_name => $instance) {
-        if ($field_info[$field_name]['module'] == 'taxonomy') {
-          $field_options[$field_name] = $field_name;
-        }
-      }
-    }
-  }
-  $form['simplenews_category_field'] = array(
-    '#type' => 'select',
-    '#title' => t('Newsletter category field'),
-    '#options' =>  $field_options,
-    '#required' => TRUE,
-    '#default_value' => variable_get('simplenews_category_field', 'field_simplenews_term'),
-  );
-
-  return system_settings_form($form);
-}
-
 /**
  * Menu callback: Simplenews admin settings - Newsletter.
  */
diff --git a/simplenews.module b/simplenews.module
index 226ee62..fb57768 100644
--- a/simplenews.module
+++ b/simplenews.module
@@ -228,30 +228,19 @@ function simplenews_menu() {
   );
   $items['admin/config/services/simplenews/settings'] = array(
     'title' => 'Settings',
-    'description' => 'Simplenews vocabulary setting.',
+    'description' => 'Simplenews settings.',
     'page callback' => 'drupal_get_form',
     'weight' => 20,
-    'page arguments' => array('simplenews_admin_settings'),
+    'page arguments' => array('simplenews_admin_settings_newsletter'),
     'access arguments' => array('administer simplenews settings'),
     'file' => 'includes/simplenews.admin.inc',
     'file path' => drupal_get_path('module', 'simplenews'),
     'type' => MENU_LOCAL_TASK,
   );
-  $items['admin/config/services/simplenews/settings/general'] = array(
-    'title' => 'General',
-    'weight' => -20,
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
   $items['admin/config/services/simplenews/settings/newsletter'] = array(
     'title' => 'Newsletter',
-    'description' => 'Newsletter default settings and sender data.',
-    'page callback' => 'drupal_get_form',
     'weight' => -15,
-    'page arguments' => array('simplenews_admin_settings_newsletter'),
-    'access arguments' => array('administer simplenews settings'),
-    'file' => 'includes/simplenews.admin.inc',
-    'file path' => drupal_get_path('module', 'simplenews'),
-    'type' => MENU_LOCAL_TASK,
+    'type' => MENU_DEFAULT_LOCAL_TASK,
   );
   $items['admin/config/services/simplenews/settings/subscription'] = array(
     'title' => 'Subscription',
@@ -334,7 +323,8 @@ function simplenews_node_type_update($info) {
     simplenews_add_term_field($info);
   }
   else {
-    simplenews_remove_term_field($info);
+    // Don't remove the field. This leads to data loss.
+    // simplenews_remove_term_field($info);
   }
 }
 
@@ -595,11 +585,12 @@ function simplenews_get_content_types() {
  *   A node type object.
  */
 function simplenews_add_term_field($type) {
-  $field = field_info_field('field_simplenews_term');
-  $instance = field_info_instance('node', 'field_simplenews_term', $type->type);
+  $field_name = variable_get('simplenews_category_field', 'field_simplenews_term');
+  $field = field_info_field($field_name);
+  $instance = field_info_instance('node', $field_name, $type->type);
   if (empty($field)) {
     $field = array(
-      'field_name' => 'field_simplenews_term',
+      'field_name' => $field_name,
       'type' => 'taxonomy_term_reference',
       'cardinality' => 1,
       //'entity_types' => array(),
@@ -618,7 +609,7 @@ function simplenews_add_term_field($type) {
   if (empty($instance)) {
     $instance = array(
       'label' => t('Newsletter category'),
-      'field_name' => 'field_simplenews_term',
+      'field_name' => $field_name,
       'bundle' => $type->type,
       'entity_type' => 'node',
       'required' => TRUE,
@@ -660,7 +651,8 @@ function simplenews_add_term_field($type) {
  *   A node type object.
  */
 function simplenews_remove_term_field($type) {
-  $instance = field_info_instance('node', 'field_simplenews_term', $type->type);
+  $field_name = variable_get('simplenews_category_field', 'field_simplenews_term');
+  $instance = field_info_instance('node', $field_name, $type->type);
   if ($instance) {
     field_delete_instance($instance);
   }
diff --git a/tests/simplenews.test b/tests/simplenews.test
index e94b831..1102446 100644
--- a/tests/simplenews.test
+++ b/tests/simplenews.test
@@ -971,11 +971,13 @@ class SimpleNewsAdministrationTestCase extends SimplenewsTestCase {
     $this->drupalGet('node/add/' . $type);
     $this->assertText(t('Newsletter category'));
 
+    // Create an issue.
     $edit = array(
       'title' => $this->randomName(),
     );
     $this->drupalPost(NULL, $edit, ('Save'));
 
+    // Send newsletter.
     $this->clickLink(t('Newsletter'));
     $this->assertText(t('Send newsletter'));
     $this->drupalPost(NULL, array(), t('Submit'));
@@ -992,10 +994,11 @@ class SimpleNewsAdministrationTestCase extends SimplenewsTestCase {
     );
     $this->drupalPost('admin/structure/types/manage/' . $type, $edit, t('Save content type'));
 
-    // Verify that the newsletter settings are not shown.
+    // Verify that the newsletter settings are still shown.
+    // Note: Previously the field got autoremoved. We leave it remaining due to potential data loss.
     $this->drupalGet('node/add/' . $type);
-    $this->assertNoText(t('Replacement patterns'));
-    $this->assertNoText(t('Newsletter category'));
+    $this->assertText(t('Replacement patterns'));
+    $this->assertText(t('Newsletter category'));
 
     // @todo: Test node update/delete.
 
