diff --git a/inc/actions.php b/inc/actions.php
index a426f0276d429407571c0e53d31b9df619ef01e3..4b5bfdb1a4817ca46a475ee8fd1717ebdc16acf7 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -343,6 +343,11 @@ function act_revert($act){
     global $ID;
     global $REV;
     global $lang;
+    // FIXME $INFO['writable'] currently refers to the attic version
+    // global $INFO;
+    // if (!$INFO['writable']) {
+    //     return 'show';
+    // }
 
     // when no revision is given, delete current one
     // FIXME this feature is not exposed in the GUI currently
diff --git a/inc/confutils.php b/inc/confutils.php
index 7850682ba2cde35c8c0f21c22f18e8f13bd09b5e..0c1c0c64ab441b49a33f929e8d33144da6304a49 100644
--- a/inc/confutils.php
+++ b/inc/confutils.php
@@ -241,6 +241,7 @@ function actionOK($action){
     static $disabled = null;
     if(is_null($disabled)){
         global $conf;
+        global $auth;
 
         // prepare disabled actions array and handle legacy options
         $disabled = explode(',',$conf['disableactions']);
@@ -250,6 +251,12 @@ function actionOK($action){
         if(isset($conf['subscribers']) && !$conf['subscribers']) {
             $disabled[] = 'subscribe';
         }
+        if (is_null($auth) || !$auth->canDo('addUser')) {
+            $disabled[] = 'register';
+        }
+        if (is_null($auth) || !$auth->canDo('modPass')) {
+            $disabled[] = 'resendpwd';
+        }
         $disabled = array_unique($disabled);
     }
 
diff --git a/inc/html.php b/inc/html.php
index c4eb62bc8cd8b4778441512a3c59c524a16ff843..01823449ea7c915f0fa6e738dc597c862a963890 100644
--- a/inc/html.php
+++ b/inc/html.php
@@ -45,7 +45,6 @@ function html_login(){
     global $lang;
     global $conf;
     global $ID;
-    global $auth;
 
     print p_locale_xhtml('login');
     print '<div class="centeralign">'.NL;
@@ -61,14 +60,14 @@ function html_login(){
     $form->addElement(form_makeButton('submit', '', $lang['btn_login']));
     $form->endFieldset();
 
-    if($auth && $auth->canDo('addUser') && actionOK('register')){
+    if(actionOK('register')){
         $form->addElement('<p>'
                           . $lang['reghere']
                           . ': <a href="'.wl($ID,'do=register').'" rel="nofollow" class="wikilink1">'.$lang['register'].'</a>'
                           . '</p>');
     }
 
-    if ($auth && $auth->canDo('modPass') && actionOK('resendpwd')) {
+    if (actionOK('resendpwd')) {
         $form->addElement('<p>'
                           . $lang['pwdforget']
                           . ': <a href="'.wl($ID,'do=resendpwd').'" rel="nofollow" class="wikilink1">'.$lang['btn_resendpwd'].'</a>'