diff --git a/include/class.user.php b/include/class.user.php
index 17408aa3384ec52248de6892feaba79abe6c7389..45f84afc1c3b4c820d0e286e68248a69e09ab272 100644
--- a/include/class.user.php
+++ b/include/class.user.php
@@ -775,8 +775,7 @@ class UserAccountModel extends VerySimpleModel {
     }
 
     function isPasswdResetEnabled() {
-        return !$this->hasStatus(UserAccountStatus::FORBID_PASSWD_RESET)
-            && (!$this->backend || $this->backend == 'client');
+        return !$this->hasStatus(UserAccountStatus::FORBID_PASSWD_RESET);
     }
 
     function getStatus() {
diff --git a/pwreset.php b/pwreset.php
index 3680cdf3e17c0cea40594a56a9c9ad1e7dbfc571..2b63aabf63477ab6818d965138b548d244aa9630 100644
--- a/pwreset.php
+++ b/pwreset.php
@@ -16,16 +16,15 @@ if($_POST) {
     switch ($_POST['do']) {
         case 'sendmail':
             if (($acct=ClientAccount::lookupByUsername($_POST['userid']))) {
-                if (!$acct->hasPassword()) {
-                    $banner = 'Unable to reset password. Contact your administrator';
-                }
-                elseif (!$acct->isPasswdResetEnabled()) {
+                if (!$acct->isPasswdResetEnabled()) {
                     $banner = 'Password reset is not enabled for your account. '
                         .'Contact your administrator';
                 }
-                elseif (!$acct->sendResetEmail()) {
+                elseif ($acct->sendResetEmail()) {
                     $inc = 'pwreset.sent.php';
                 }
+                else
+                    $banner = 'Unable to send reset email. Internal error';
             }
             else
                 $banner = 'Unable to verify username '