diff --git a/settings/ajax/changepassword.php b/settings/ajax/changepassword.php
index fe63f27a6e27362b11981f2ba654e09de499ffcd..adb730e12c281ac121ee0348f60829638b16e39a 100644
--- a/settings/ajax/changepassword.php
+++ b/settings/ajax/changepassword.php
@@ -28,10 +28,13 @@ if(is_null($userstatus)) {
 	exit();
 }
 
-// Return Success story
-if(!is_null($password) && OC_User::setPassword( $username, $password, $recoveryPassword )) {
+$util = new \OCA\Encryption\Util(new \OC_FilesystemView('/'), \OCP\User::getUser());
+if ( $recoveryPassword && ! $util->checkRecoveryPassword($recoveryPassword) ) {
+	OC_JSON::error(array("data" => array( "message" => "Wrong recovery admin password. Please check the password and try again." )));
+}elseif(!is_null($password) && OC_User::setPassword( $username, $password, $recoveryPassword )) {
 	OC_JSON::success(array("data" => array( "username" => $username )));
 }
 else{
 	OC_JSON::error(array("data" => array( "message" => "Unable to change password" )));
 }
+error_log("bliub");
diff --git a/settings/js/users.js b/settings/js/users.js
index 9bd7f31f0b269c88c9b198fce152700fe548bd7a..423068e51f3779b09bcec23a4ecf4fec6a9bb6d0 100644
--- a/settings/js/users.js
+++ b/settings/js/users.js
@@ -357,6 +357,10 @@ $(document).ready(function () {
 						OC.filePath('settings', 'ajax', 'changepassword.php'),
 						{username: uid, password: $(this).val(), recoveryPassword: recoveryPasswordVal},
 						function (result) {
+							if (result.status != 'success') {
+								OC.dialogs.alert(result.data.message,
+									t('settings', 'Error changing password'));
+							}
 						}
 					);
 					input.blur();