diff --git a/Panda/View/Widget/Head.hs b/Panda/View/Widget/Head.hs
--- a/Panda/View/Widget/Head.hs
+++ b/Panda/View/Widget/Head.hs
@@ -5,11 +5,12 @@
 import qualified Panda.Config.Global as G
 import Panda.Type.Theme hiding (header)
 import qualified Panda.Type.State as S
+import Panda.View.Widget.Helper
 
 html_head state = header << ([meta_tag, title_tag state, favicon_tag, rss_tag state] ++ G.theme.css.map css_link ++ G.theme.js.map js_link )
 
 title_tag state = thetitle << [G.blog_title ++ state.S.resource_title.format_title]
-rss_tag state   = rss_link $ G.root / state.S.uid / "rss.xml"
+rss_tag state   = rss_link $ rss_url_link_pair state .fst
 favicon_tag = favicon_link G.favicon
 
 format_title [] = ""
diff --git a/Panda/View/Widget/Helper.hs b/Panda/View/Widget/Helper.hs
new file mode 100644
--- /dev/null
+++ b/Panda/View/Widget/Helper.hs
@@ -0,0 +1,20 @@
+module Panda.View.Widget.Helper where
+
+import Panda.Helper.Env
+import Prelude hiding ((.), (/), (^), id, span)
+  
+import qualified Panda.Config.Global as G
+import qualified Panda.Type.State as State
+import qualified Panda.Model.Tag as Tag
+
+rss_url_link_pair state = 
+  if tagged 
+  then
+    let tag_name = Tag.get_name uid in
+      link ( "tag" / tag_name) tag_name
+  else link "" "Home"
+  where
+    uid = State.uid state
+    tagged = uid.match "^tag/.+" .isJust
+    url r = G.root / r / "rss.xml"
+    link r s = (url r, hotlink (url r) ! [ theclass "feedlink" ] << s)
diff --git a/Panda/View/Widget/Sidebar.hs b/Panda/View/Widget/Sidebar.hs
--- a/Panda/View/Widget/Sidebar.hs
+++ b/Panda/View/Widget/Sidebar.hs
@@ -7,6 +7,7 @@
 import qualified Data.Set as Set
 import qualified Panda.Config.Global as G
 import qualified Panda.Type.Sidebar as Sidebar
+import Panda.View.Widget.Helper
 
 -- model
 import qualified Panda.Model.Tag as Tag
@@ -28,17 +29,7 @@
   , p ! [theclass "feed"] << rss_link state
   ]
 
-rss_link state = 
-  if tagged 
-  then
-    let tag_name = Tag.get_name uid in
-      link ( "tag" / tag_name) tag_name
-  else link "" "Home"
-  where
-    uid = State.uid state
-    tagged = uid.match "^tag/.+" .isJust
-    link r s = hotlink (G.root / r / "rss.xml") ! [ theclass "feedlink" ] << s
-
+rss_link = rss_url_link_pair >>> snd
 tag_list tags = toHtml
   [ h2 << "Tags"
   , unordList $ tags.Tag.sorted.map tag_link]
diff --git a/changelog.markdown b/changelog.markdown
--- a/changelog.markdown
+++ b/changelog.markdown
@@ -1,3 +1,10 @@
+2008.10.15
+----------
+
+### Fix
+
+* RSS link for root
+
 2008.10.14
 ----------
 
diff --git a/panda.cabal b/panda.cabal
--- a/panda.cabal
+++ b/panda.cabal
@@ -1,5 +1,5 @@
 Name:                 panda
-Version:              2008.10.14
+Version:              2008.10.15
 Build-type:           Simple
 Synopsis:             A simple static blog engine
 Description:          A simple static blog engine
@@ -49,6 +49,7 @@
                     Panda.View.Control.Static
                     Panda.View.Control.Tag
                     
+                    Panda.View.Widget.Helper
                     Panda.View.Widget.Body
                     Panda.View.Widget.Footer
                     Panda.View.Widget.Head
