diff --git a/src/deplacements.c b/src/deplacements.c
index 9c273a799c0d444e585187ae4f2373c446caa856..b3e330da3aea1bf2b7384ceea2c6accbb8485043 100644
--- a/src/deplacements.c
+++ b/src/deplacements.c
@@ -53,7 +53,10 @@ int deplacement_unitaire(Personnage *perso,Case * destination){
         return 1;
     }
     if (case_a_cote(perso,destination)==vrai){
-       return deplacer_personnage(perso, destination);
+       if(deplacer_personnage(perso, destination)==0){
+            perso->points_deplacement-=destination->terrain->PD_requis;
+       }
+        ;
     }
     printf("deplacement impossible : case non contigue\n");
     return 1;
diff --git a/src/personnage.c b/src/personnage.c
index bf5997a0aa6ae7799de03e32bde71f885ff56d38..717d2c87ae0edb0ef7702264b197148c8a93e3be 100644
--- a/src/personnage.c
+++ b/src/personnage.c
@@ -289,7 +289,6 @@ boolean est_paralyse(Personnage *p){
  * \return un entier.
  */
 int deplacer_personnage (Personnage *perso, Case *destination){ /*déplace un personnage d'une case à une autre. Ne vérifie pas si le déplacement est autorisé, cela doit être fait par la fonction qui l'appelle*/
-    perso->points_deplacement--;
     marquer_libre(getPosition(perso));
     perso->position=destination;
     marquer_occupee(getPosition(perso));