diff -u moin-1.6.0.orig/MoinMoin/theme/__init__.py moin-1.6.0/MoinMoin/theme/__init__.py
--- moin-1.6.0.orig/MoinMoin/theme/__init__.py  2007-11-15 17:07:56.000000000 +0200
+++ moin-1.6.0/MoinMoin/theme/__init__.py       2007-11-29 22:24:04.000000000 +0200
@@ -1204,9 +1204,10 @@
         _ = self.request.getText
         if self.request.user.isSubscribedTo([page.page_name]):
             text = _("Unsubscribe", formatted=False)
+            return page.link_to(self.request, text=text, querystr={'action': 'unsubscribe'}, css_class='nbsubscribe', rel='nofollow')
         else:
             text = _("Subscribe", formatted=False)
-        return page.link_to(self.request, text=text, querystr={'action': 'subscribe'}, css_class='nbsubscribe', rel='nofollow')
+            return page.link_to(self.request, text=text, querystr={'action': 'subscribe'}, css_class='nbsubscribe', rel='nofollow')

     def quicklinkLink(self, page):
         """ Return add/remove quicklink link

diff -u moin-1.6.0.orig/MoinMoin/action/subscribe.py moin-1.6.0/MoinMoin/action/subscribe.py
--- moin-1.6.0.orig/MoinMoin/action/subscribe.py        2007-10-25 23:27:36.000000000 +0200
+++ moin-1.6.0/MoinMoin/action/subscribe.py     2007-11-29 22:36:57.000000000 +0200
@@ -9,7 +9,7 @@
 from MoinMoin.Page import Page

 def execute(pagename, request):
-    """ Subscribe or unsubscribe the user to pagename """
+    """ Subscribe the user to pagename """
     _ = request.getText
     cfg = request.cfg
     msg = None
@@ -29,15 +29,8 @@
     elif not request.user.email:
         msg = _("Add your email address in your UserPreferences to use subscriptions.", formatted=True)

-    elif request.user.isSubscribedTo([pagename]):
-        # Try to unsubscribe
-        if request.user.unsubscribe(pagename):
-            msg = _('Your subscription to this page has been removed.', formatted=False)
-        else:
-            msg = _("Can't remove regular expression subscription!", formatted=False) + u' ' + \
-                  _("Edit the subscription regular expressions in your "
-                    "UserPreferences.", formatted=True)
-
+    if request.user.isSubscribedTo([pagename]):
+        msg = _('You are already subscribed to this page.', formatted=False)
     else:
         # Try to subscribe
         if request.user.subscribe(pagename):
@@ -45,4 +38,5 @@
         else: # should not happen
             msg = _('You could not get subscribed to this page.', formatted=False)

+
     Page(request, pagename).send_page(msg=msg)

diff -Nu moin-1.6.0.orig/MoinMoin/action/unsubscribe.py moin-1.6.0/MoinMoin/action/unsubscribe.py
--- moin-1.6.0.orig/MoinMoin/action/unsubscribe.py      1970-01-01 02:00:00.000000000 +0200
+++ moin-1.6.0/MoinMoin/action/unsubscribe.py   2007-11-29 22:25:27.000000000 +0200
@@ -0,0 +1,29 @@
+# -*- coding: iso-8859-1 -*-
+"""
+    MoinMoin - unsubscribe from notifications to a page.
+
+    @copyright: 2000-2004 Juergen Hermann <jh@web.de>,
+                2006 MoinMoin:ThomasWaldmann
+    @license: GNU GPL, see COPYING for details.
+"""
+from MoinMoin.Page import Page
+
+def execute(pagename, request):
+    """ Unsubscribe the user from pagename """
+    _ = request.getText
+    cfg = request.cfg
+    msg = None
+
+    if request.user.isSubscribedTo([pagename]):
+        # Try to unsubscribe
+        if request.user.unsubscribe(pagename):
+            msg = _('Your subscription to this page has been removed.', formatted=False)
+        else:
+            msg = _("Can't remove regular expression subscription!", formatted=False) + u' ' + \
+                  _("Edit the subscription regular expressions in your "
+                    "UserPreferences.", formatted=True)
+    else:
+        # The user is not subscribed
+        msg = _('You need to be subscribed to unsubscribe.', formatted=False)
+
+    Page(request, pagename).send_page(msg=msg)
