diff -r 7e18782d09b2 MoinMoin/theme/__init__.py
--- a/MoinMoin/theme/__init__.py	Fri Mar 19 20:23:50 2010 +0100
+++ b/MoinMoin/theme/__init__.py	Sat Mar 20 22:09:13 2010 +0100
@@ -322,8 +322,12 @@
                 userlinks.append(d['page'].link_to(request, text=_('Settings'),
                                                querystr={'action': 'userprefs'}, id='userprefs', rel='nofollow'))
 
-        if request.user.valid:
-            if request.user.auth_method in request.cfg.auth_can_logout:
+        if (request.user.valid
+            or
+            request.user.auth_method == 'setuid'):
+            if (request.user.auth_method in request.cfg.auth_can_logout
+                or
+                request.user.auth_method == 'setuid'):
                 userlinks.append(d['page'].link_to(request, text=_('Logout'),
                                                    querystr={'action': 'logout', 'logout': 'logout'}, id='logout', rel='nofollow'))
         else:
diff -r 7e18782d09b2 MoinMoin/userprefs/suid.py
--- a/MoinMoin/userprefs/suid.py	Fri Mar 19 20:23:50 2010 +0100
+++ b/MoinMoin/userprefs/suid.py	Sat Mar 20 22:09:13 2010 +0100
@@ -26,8 +26,7 @@
         self.name = 'suid'
 
     def allowed(self):
-        return (self.request.user.auth_method in self.request.cfg.auth_can_logout and
-               UserPrefBase.allowed(self) and self.request.user.isSuperUser())
+        return UserPrefBase.allowed(self) and self.request.user.isSuperUser()
 
     def handle_form(self):
         _ = self._
