diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js
index 898e7107651dd898601539767b8bf96e84d42408..c0bdd91adffd573dbdb56cf84c2e770c66ce7ebb 100644
--- a/src/libs/routes/user.js
+++ b/src/libs/routes/user.js
@@ -208,6 +208,8 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r
       }});
     }
 
+    console.log(req.body);
+
     user.email = req.body.email || user.email;
     user.name = req.body.name || user.name;
     user.nickname = req.body.nickname || user.nickname || user.name;
@@ -226,6 +228,23 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r
     user.citesegment = req.body.citesegment || user.citesegment;
     user.citerole = req.body.citerole || user.citerole;
 
+    // console.log(user.checkPassword(req.body.password));
+    if ((req.body.password) && (req.body.newpassword)) {
+        if (req.body.password != req.body.newpassword) {
+            if (user.checkPassword(req.body.password)) {
+                user.password = req.body.newpassword;
+            } else {
+                return next({err: {
+                    message: 'A senha atual está incorreta'
+                }});
+            }
+        } else {
+            return next({err: {
+                message: 'A nova senha é a mesma da senha atual'
+            }});
+        }
+    }
+
     user.save(err => {
       if(err) {
         log.error(err);
@@ -235,7 +254,7 @@ userApp.put('/:id', passport.authenticate('bearer', { session: false }), (req, r
       delete u.hashedPassword;
       delete u.salt;
       res.json({user: u});
-    }) 
+    })
   })
 });