diff --git a/inc/actions.php b/inc/actions.php
index 694f78208b788f476d890cf974df0f169e15cd98..735179968ff73b206575c459bf30367646cec2b8 100644
--- a/inc/actions.php
+++ b/inc/actions.php
@@ -68,9 +68,15 @@ function act_dispatch(){
     }
 
     //update user profile
-    if (($ACT == 'profile') && updateprofile()) {
-      msg($lang['profchanged'],1);
-      $ACT = 'show';
+    if ($ACT == 'profile') {
+      if(!$_SERVER['REMOTE_USER']) {
+        $ACT = 'login';
+      } else {
+        if(updateprofile()) {
+          msg($lang['profchanged'],1);
+          $ACT = 'show';
+        }
+      }
     }
 
     //save
diff --git a/inc/auth.php b/inc/auth.php
index 9c21fcbefc288bb22e258d7bc95b8d9877810082..18f1ece898885a7dca2c61a48b99361aa32a854c 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -724,6 +724,7 @@ function updateprofile() {
     if ($changes['pass']) $pass = PMA_blowfish_encrypt($changes['pass'],auth_cookiesalt());
 
     auth_setCookie($_SERVER['REMOTE_USER'],$pass,(bool)$sticky);
+    return true;
   }
 }