diff --git a/app/common/services/api-utils.js b/app/common/services/api-utils.js
index 09e2690..9e458aa 100644
--- a/app/common/services/api-utils.js
+++ b/app/common/services/api-utils.js
@@ -495,37 +495,6 @@
                     console.log(error);
                   });
         },
-        changePassword: function(user, newPassword) {
-          if (DataService.configJson.redfishSupportEnabled == true) {
-            return $http({
-              method: 'PATCH',
-              url: DataService.getHost() +
-                  '/redfish/v1/AccountService/Accounts/' + user,
-              withCredentials: true,
-              data: JSON.stringify({'Password': newPassword})
-            });
-          } else {
-            var deferred = $q.defer();
-            $http({
-              method: 'POST',
-              url: DataService.getHost() + '/xyz/openbmc_project/user/' + user +
-                  '/action/SetPassword',
-              withCredentials: true,
-              data: JSON.stringify({'data': [newPassword]}),
-              responseType: 'arraybuffer'
-            })
-                .then(
-                    function(response, status, headers) {
-                      deferred.resolve(
-                          {data: response, status: status, headers: headers});
-                    },
-                    function(error) {
-                      console.log(error);
-                      deferred.reject(error);
-                    });
-            return deferred.promise;
-          }
-        },
         getAccountServiceRoles: function() {
           var roles = [];
 
