diff --git a/core/modules/aggregator/aggregator.pages.inc b/core/modules/aggregator/aggregator.pages.inc
index e410587..7523827 100644
--- a/core/modules/aggregator/aggregator.pages.inc
+++ b/core/modules/aggregator/aggregator.pages.inc
@@ -401,15 +401,16 @@ function aggregator_page_categories() {
  */
 function aggregator_page_rss() {
   $result = NULL;
+  $rss_config = config('system.rss');
   // arg(2) is the passed cid, only select for that category.
   if (arg(2)) {
     $category = db_query('SELECT cid, title FROM {aggregator_category} WHERE cid = :cid', array(':cid' => arg(2)))->fetchObject();
-    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = :cid ORDER BY timestamp DESC, i.iid DESC', 0, config('system.rss-publishing')->get('feed_default_items'), array(':cid' => $category->cid));
+    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_category_item} c LEFT JOIN {aggregator_item} i ON c.iid = i.iid LEFT JOIN {aggregator_feed} f ON i.fid = f.fid WHERE cid = :cid ORDER BY timestamp DESC, i.iid DESC', 0, $rss_config->get('items.limit'), array(':cid' => $category->cid));
   }
   // Or, get the default aggregator items.
   else {
     $category = NULL;
-    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC', 0, config('system.rss-publishing')->get('feed_default_items'));
+    $result = db_query_range('SELECT i.*, f.title AS ftitle, f.link AS flink FROM {aggregator_item} i INNER JOIN {aggregator_feed} f ON i.fid = f.fid ORDER BY i.timestamp DESC, i.iid DESC', 0, $rss_config->get('items.limit'));
   }
 
   $feeds = $result->fetchAll();
@@ -435,7 +436,7 @@ function theme_aggregator_page_rss($variables) {
   drupal_add_http_header('Content-Type', 'application/rss+xml; charset=utf-8');
 
   $items = '';
-  $feed_length = config('system.rss-publishing')->get('feed_item_length');
+  $feed_length = config('system.rss')->get('items.view_mode');
   foreach ($feeds as $feed) {
     switch ($feed_length) {
       case 'teaser':
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php
index 7a5b58e..557aef1 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php
@@ -83,8 +83,8 @@ class AggregatorRenderingTest extends AggregatorTestBase {
   public function testFeedPage() {
     // Increase the number of items published in the rss.xml feed so we have
     // enough articles to test paging.
-    $config = config('system.rss-publishing');
-    $config->set('feed_default_items', 30);
+    $config = config('system.rss');
+    $config->set('items.limit', 30);
     $config->save();
 
     // Create a feed with 30 items.
@@ -98,7 +98,7 @@ class AggregatorRenderingTest extends AggregatorTestBase {
     $this->assertTrue(!empty($elements), t('Individual source page contains a pager.'));
 
     // Reset the number of items in rss.xml to the default value.
-    $config->set('feed_default_items', 10);
+    $config->set('items.limit', 10);
     $config->save();
   }
 }
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
index 9483170..6382341 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorTestBase.php
@@ -88,7 +88,7 @@ class AggregatorTestBase extends WebTestBase {
    */
   function getDefaultFeedItemCount() {
     // Our tests are based off of rss.xml, so let's find out how many elements should be related.
-    $feed_count = db_query_range('SELECT COUNT(*) FROM {node} n WHERE n.promote = 1 AND n.status = 1', 0, config('system.rss-publishing')->get('feed_default_items'))->fetchField();
+    $feed_count = db_query_range('SELECT COUNT(*) FROM {node} n WHERE n.promote = 1 AND n.status = 1', 0, config('system.rss')->get('items.limit'))->fetchField();
     return $feed_count > 10 ? 10 : $feed_count;
   }
 
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 42d968d..f32ea72 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -2431,6 +2431,7 @@ function node_block_list_alter(&$blocks) {
 function node_feed($nids = FALSE, $channel = array()) {
   global $base_url;
   $language_content = drupal_container()->get(LANGUAGE_TYPE_CONTENT);
+  $rss_config = config('system.rss');
 
   if ($nids === FALSE) {
     $nids = db_select('node', 'n')
@@ -2438,13 +2439,13 @@ function node_feed($nids = FALSE, $channel = array()) {
       ->condition('n.promote', 1)
       ->condition('n.status', 1)
       ->orderBy('n.created', 'DESC')
-      ->range(0, config('system.rss-publishing')->get('feed_default_items'))
+      ->range(0, $rss_config->get('items.limit'))
       ->addTag('node_access')
       ->execute()
       ->fetchCol();
   }
 
-  $item_length = config('system.rss-publishing')->get('feed_item_length');
+  $item_length = $rss_config->get('items.view_mode');
   $namespaces = array('xmlns:dc' => 'http://purl.org/dc/elements/1.1/');
   $teaser = ($item_length == 'teaser');
 
@@ -2484,7 +2485,7 @@ function node_feed($nids = FALSE, $channel = array()) {
     'version'     => '2.0',
     'title'       => config('system.site')->get('name'),
     'link'        => $base_url,
-    'description' => config('system.rss-publishing')->get('feed_description'),
+    'description' => $rss_config->get('channel.description'),
     'language'    => $language_content->langcode
   );
   $channel_extras = array_diff_key($channel, $channel_defaults);
diff --git a/core/modules/system/config/system.rss-publishing.yml b/core/modules/system/config/system.rss-publishing.yml
deleted file mode 100644
index 5662aad..0000000
--- a/core/modules/system/config/system.rss-publishing.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-feed_description: ''
-feed_default_items: '10'
-feed_item_length: fulltext
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index f64447e..0a4e45a 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1888,47 +1888,48 @@ function system_image_toolkit_settings() {
  * Form builder; Configure how the site handles RSS feeds.
  *
  * @ingroup forms
- * @see system_settings_form()
  */
 function system_rss_feeds_settings($form, &$form_state) {
+  $rss_config = config('system.rss');
   $form['feed_description'] = array(
     '#type' => 'textarea',
     '#title' => t('Feed description'),
-    '#default_value' => config('system.rss-publishing')->get('feed_description'),
+    '#default_value' => $rss_config->get('channel.description'),
     '#description' => t('Description of your site, included in each feed.')
   );
   $form['feed_default_items'] = array(
     '#type' => 'select',
     '#title' => t('Number of items in each feed'),
-    '#default_value' => config('system.rss-publishing')->get('feed_default_items'),
+    '#default_value' => $rss_config->get('items.limit'),
     '#options' => drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30)),
     '#description' => t('Default number of items to include in each feed.')
   );
   $form['feed_item_length'] = array(
     '#type' => 'select',
     '#title' => t('Feed content'),
-    '#default_value' => config('system.rss-publishing')->get('feed_item_length'),
-    '#options' => array('title' => t('Titles only'), 'teaser' => t('Titles plus teaser'), 'fulltext' => t('Full text')),
+    '#default_value' => $rss_config->get('items.view_mode'),
+    '#options' => array(
+      'title' => t('Titles only'),
+      'teaser' => t('Titles plus teaser'),
+      'fulltext' => t('Full text'),
+    ),
     '#description' => t('Global setting for the default display of content items in each feed.')
   );
-  $form['submit'] = array('#type' => 'submit', '#value' => t('Submit'));
 
-  return $form;
+  return system_config_form($form, $form_state);
 }
 
 /**
  * Form builder submit handler; Handle submission for RSS feeds settings.
  *
  * @ingroup forms
- * @see system_settings_form()
  */
 function system_rss_feeds_settings_submit($form, &$form_state) {
-  // Set the RSS publishing parameters.
-  $config = config('system.rss-publishing');
-  $config->set('feed_description', $form_state['values']['feed_description']);
-  $config->set('feed_default_items', $form_state['values']['feed_default_items']);
-  $config->set('feed_item_length', $form_state['values']['feed_item_length']);
-  $config->save();
+  config('system.rss')
+    ->set('channel.description', $form_state['values']['feed_description'])
+    ->set('items.limit', $form_state['values']['feed_default_items'])
+    ->set('items.view_mode', $form_state['values']['feed_item_length'])
+    ->save();
 }
 
 /**
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index 9a2217d..9ab9a36 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -1917,10 +1917,10 @@ function system_update_8009() {
  * @ingroup config_upgrade
  */
 function system_update_8010() {
-  update_variables_to_config('system.rss-publishing', array(
-    'feed_description' => 'feed_description',
-    'feed_default_items' => 'feed_default_items',
-    'feed_item_length' => 'feed_item_length',
+  update_variables_to_config('system.rss', array(
+    'feed_description' => 'channel.description',
+    'feed_default_items' => 'items.limit',
+    'feed_item_length' => 'items.view_mode',
   ));
 }
 
diff --git a/core/modules/taxonomy/taxonomy.pages.inc b/core/modules/taxonomy/taxonomy.pages.inc
index 879d685..7f4edfc 100644
--- a/core/modules/taxonomy/taxonomy.pages.inc
+++ b/core/modules/taxonomy/taxonomy.pages.inc
@@ -73,7 +73,7 @@ function taxonomy_term_feed(Term $term) {
   // Only display the description if we have a single term, to avoid clutter and confusion.
   // HTML will be removed from feed description.
   $channel['description'] = check_markup($term->description, $term->format, '', TRUE);
-  $nids = taxonomy_select_nodes($term->tid, FALSE, config('system.rss-publishing')->get('feed_default_items'));
+  $nids = taxonomy_select_nodes($term->tid, FALSE, config('system.rss')->get('items.limit'));
 
   node_feed($nids, $channel);
 }
