diff --git a/src/Umbraco.Web.UI.Client/src/views/member/member.edit.controller.js b/src/Umbraco.Web.UI.Client/src/views/member/member.edit.controller.js
index 842590c4e7..4bd7a70113 100644
--- a/src/Umbraco.Web.UI.Client/src/views/member/member.edit.controller.js
+++ b/src/Umbraco.Web.UI.Client/src/views/member/member.edit.controller.js
@@ -131,6 +131,10 @@ function MemberEditController($scope, $routeParams, $location, $q, $window, appS
$scope.busy = true;
$scope.page.saveButtonState = "busy";
+ //anytime a user is changing a member's password, we are in effect resetting it so we need to set that flag here
+ var passwordProp = _.find(contentEditingHelper.getAllProps($scope.content), function (e) { return e.alias === '_umb_password' });
+ passwordProp.value.reset = true;
+
memberResource.save($scope.content, $routeParams.create, fileManager.getFiles())
.then(function(data) {
diff --git a/src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html b/src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
index 1cd81f3d1c..cb936d92e1 100644
--- a/src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
+++ b/src/Umbraco.Web.UI.Client/src/views/users/views/user/details.html
@@ -251,13 +251,12 @@
-
diff --git a/src/Umbraco.Web/Editors/PasswordChanger.cs b/src/Umbraco.Web/Editors/PasswordChanger.cs
index 707db3796d..ff6bea9f7d 100644
--- a/src/Umbraco.Web/Editors/PasswordChanger.cs
+++ b/src/Umbraco.Web/Editors/PasswordChanger.cs
@@ -250,25 +250,6 @@ namespace Umbraco.Web.Editors
return Attempt.Fail(new PasswordChangedModel { ChangeError = new ValidationResult("Cannot set an empty password", new[] { "value" }) });
}
- //This is an edge case and is only necessary for backwards compatibility:
- if (umbracoBaseProvider != null && umbracoBaseProvider.AllowManuallyChangingPassword)
- {
- //this provider allows manually changing the password without the old password, so we can just do it
- try
- {
- var result = umbracoBaseProvider.ChangePassword(username, "", passwordModel.NewPassword);
- return result == false
- ? Attempt.Fail(new PasswordChangedModel { ChangeError = new ValidationResult("Could not change password, invalid username or password", new[] { "value" }) })
- : Attempt.Succeed(new PasswordChangedModel());
- }
- catch (Exception ex)
- {
- _logger.WarnWithException("Could not change member password", ex);
- return Attempt.Fail(new PasswordChangedModel { ChangeError = new ValidationResult("Could not change password, error: " + ex.Message + " (see log for full details)", new[] { "value" }) });
- }
- }
-
-
//without being able to retrieve the original password,
//we cannot arbitrarily change the password without knowing the old one and no old password was supplied - need to return an error
if (passwordModel.OldPassword.IsNullOrWhiteSpace() && membershipProvider.EnablePasswordRetrieval == false)