diff --git a/database/database.mysql b/database/database.mysql
index 4893bb1655101458c7024588f6c4c8283e8f9e0d..d29567b9b799559a2b89a30125285576e1c6c623 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -863,8 +863,6 @@ INSERT INTO variable (name,value) VALUES ('filter_html_1','i:1;');
 
 INSERT INTO locales_meta (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1');
 
-INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
-
 INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
 
 INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
diff --git a/database/database.pgsql b/database/database.pgsql
index bf4ef150a588005909ef7a9a69fcdf2cf3be970e..945a090097100bcbc7c9cbc781e0a3ce281b5681 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -856,8 +856,6 @@ INSERT INTO variable (name,value) VALUES ('filter_html_1','i:1;');
 
 INSERT INTO locales_meta (locale, name, enabled, isdefault) VALUES ('en', 'English', '1', '1');
 
-INSERT INTO url_alias (src, dst) VALUES ('node/feed', 'rss.xml');
-
 INSERT INTO variable (name, value) VALUES ('node_options_forum', 'a:1:{i:0;s:6:"status";}');
 
 INSERT INTO menu VALUES (2, 0, '', 'Primary links', '', 0, 115);
diff --git a/database/updates.inc b/database/updates.inc
index 0c06471c29e76443435d9b9df3359c97beea5bdf..79b9014b3a4f46cac66548b5ec9549df26d8e64f 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -4,7 +4,7 @@
 function system_version($type) {
   switch ($type) {
     case SCHEMA:
-      return 155;
+      return 157;
 
     case SCHEMA_MIN:
       return 110;
@@ -1100,3 +1100,10 @@ function system_update_156() {
   system_themes();
   return array();
 }
+
+function system_update_157() {
+  $ret = array();
+  $ret[] = update_sql("DELETE FROM {url_alias} WHERE src = 'node/feed' AND dst = 'rss.xml'");
+  $ret[] = update_sql("INSERT INTO {url_alias} (src, dst) VALUES ('rss.xml', 'node/feed')");
+}
+
diff --git a/modules/node.module b/modules/node.module
index 33e1721d0a71d8b24b0dd3ff8cc692c6a552b91b..d119f6c905c1cc5359191928c3afad3cfd6d55a6 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -886,6 +886,10 @@ function node_menu($may_cache) {
       'access' => user_access('access content'),
       'type' => MENU_ITEM_GROUPING,
       'weight' => 1);
+    $items[] = array('path' => 'rss.xml', 'title' => t('rss feed'),
+      'callback' => 'node_feed',
+      'access' => user_access('access content'),
+      'type' => MENU_CALLBACK);
   }
   else {
     if (arg(0) == 'node' && is_numeric(arg(1))) {
@@ -1375,7 +1379,7 @@ function node_block($op = 'list', $delta = 0) {
   }
   else if ($op == 'view') {
     $block['subject'] = t('Syndicate');
-    $block['content'] = theme('xml_icon', url('node/feed'));
+    $block['content'] = theme('xml_icon', url('rss.xml'));
 
     return $block;
   }
@@ -1916,7 +1920,7 @@ function node_page_default() {
     drupal_add_link(array('rel' => 'alternate',
                           'type' => 'application/rss+xml',
                           'title' => t('RSS'),
-                          'href' => url('node/feed', NULL, NULL, TRUE)));
+                          'href' => url('rss.xml', NULL, NULL, TRUE)));
 
     $output = '';
     while ($node = db_fetch_object($result)) {
@@ -1947,9 +1951,6 @@ function node_page() {
   }
 
   switch ($op) {
-    case 'feed':
-      node_feed();
-      return;
     case 'view':
       if (is_numeric(arg(1))) {
         $node = node_load(arg(1), $_GET['revision']);
diff --git a/modules/node/node.module b/modules/node/node.module
index 33e1721d0a71d8b24b0dd3ff8cc692c6a552b91b..d119f6c905c1cc5359191928c3afad3cfd6d55a6 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -886,6 +886,10 @@ function node_menu($may_cache) {
       'access' => user_access('access content'),
       'type' => MENU_ITEM_GROUPING,
       'weight' => 1);
+    $items[] = array('path' => 'rss.xml', 'title' => t('rss feed'),
+      'callback' => 'node_feed',
+      'access' => user_access('access content'),
+      'type' => MENU_CALLBACK);
   }
   else {
     if (arg(0) == 'node' && is_numeric(arg(1))) {
@@ -1375,7 +1379,7 @@ function node_block($op = 'list', $delta = 0) {
   }
   else if ($op == 'view') {
     $block['subject'] = t('Syndicate');
-    $block['content'] = theme('xml_icon', url('node/feed'));
+    $block['content'] = theme('xml_icon', url('rss.xml'));
 
     return $block;
   }
@@ -1916,7 +1920,7 @@ function node_page_default() {
     drupal_add_link(array('rel' => 'alternate',
                           'type' => 'application/rss+xml',
                           'title' => t('RSS'),
-                          'href' => url('node/feed', NULL, NULL, TRUE)));
+                          'href' => url('rss.xml', NULL, NULL, TRUE)));
 
     $output = '';
     while ($node = db_fetch_object($result)) {
@@ -1947,9 +1951,6 @@ function node_page() {
   }
 
   switch ($op) {
-    case 'feed':
-      node_feed();
-      return;
     case 'view':
       if (is_numeric(arg(1))) {
         $node = node_load(arg(1), $_GET['revision']);