diff --git a/src/Controller/EntityResource.php b/src/Controller/EntityResource.php
index 6fbb175..addeffc 100644
--- a/src/Controller/EntityResource.php
+++ b/src/Controller/EntityResource.php
@@ -232,6 +232,10 @@ class EntityResource {
     }
     $body = Json::decode($request->getContent());
     $data = $body['data'];
+    if ($entity->getEntityTypeId() == 'user' && isset($data['attributes']['current_pass'])) {
+      $current_pass = $data['attributes']['current_pass'];
+      unset($data['attributes']['current_pass']);
+    }
     if ($data['id'] != $entity->uuid()) {
       throw new BadRequestHttpException(sprintf(
         'The selected entity (%s) does not match the ID in the payload (%s).',
@@ -246,6 +250,10 @@ class EntityResource {
       return $destination;
     }, $entity);
 
+    if ($entity->getEntityTypeId() == 'user' && isset($current_pass)) {
+      $entity->setExistingPassword($current_pass);
+    }
+
     $this->validate($entity);
     $entity->save();
     return $this->getIndividual($entity, $request);
