diff --git a/modules/node/node.module b/modules/node/node.module
index d19cf29..4ce57e7 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -2433,7 +2433,7 @@ function node_block_list_alter(&$blocks) {
 function node_feed($nids = FALSE, $channel = array()) {
   global $base_url, $language_content;
 
-  if ($nids === FALSE) {
+  if (!is_array($nids)) {
     $nids = db_select('node', 'n')
       ->fields('n', array('nid', 'created'))
       ->condition('n.promote', 1)
@@ -2488,6 +2488,7 @@ function node_feed($nids = FALSE, $channel = array()) {
     'description' => variable_get('feed_description', ''),
     'language'    => $language_content->language
   );
+  $channel = is_array($channel) ? $channel : array();
   $channel_extras = array_diff_key($channel, $channel_defaults);
   $channel = array_merge($channel_defaults, $channel);
 
diff --git a/modules/node/node.test b/modules/node/node.test
index 8a871c0..1dbd8d5 100644
--- a/modules/node/node.test
+++ b/modules/node/node.test
@@ -813,6 +813,16 @@ class NodeRSSContentTestCase extends DrupalWebTestCase {
     $this->drupalGet("node/$node->nid");
     $this->assertNoText($rss_only_content, t('Node content designed for RSS doesn\'t appear when viewing node.'));
 
+    // Regression test for #622426.  Extra path parts should be ignored.
+    $this->drupalGet('rss.xml/a');
+    // Check that content added in 'rss' build mode appear in RSS feed.
+    $rss_only_content = t('Extra data that should appear only in the RSS feed for node !nid.', array('!nid' => $node->nid));
+    $this->assertText($rss_only_content, t('Node content designated for RSS appear in RSS feed.'));
+    $this->drupalGet('rss.xml/b/c');
+
+    // Check that content added in 'rss' build mode appear in RSS feed.
+    $rss_only_content = t('Extra data that should appear only in the RSS feed for node !nid.', array('!nid' => $node->nid));
+    $this->assertText($rss_only_content, t('Node content designated for RSS appear in RSS feed.'));
   }
 }
 
