diff --git a/model/Improvement.cs b/model/Improvement.cs
index e98d7fa49044f408301335f5595a059f3b2ad0bb..90a0b26b7b6b5087228f05351649370b9665a61f 100644
--- a/model/Improvement.cs
+++ b/model/Improvement.cs
@@ -2,10 +2,10 @@
 {
     public enum Improvement
     {
-        TrainStation,
-        Path,
         Refuge,
+        Path,
         Club,
+        TrainStation,
         Factory
     }
 }
\ No newline at end of file
diff --git a/view/FormJeu.cs b/view/FormJeu.cs
index b9b391f91ae2e01363517f550f3dd2bff840b8fe..387af4cc3e41a13acef97a2336bd5370542bb60d 100644
--- a/view/FormJeu.cs
+++ b/view/FormJeu.cs
@@ -85,9 +85,11 @@ namespace Wanderer.view
             int cout = tbCouts[i];
 
             //Calcul des marks et randonneurs, ajout d'image sur la map
-            if (marks >= cout)
+            if (marks >= cout && MapView.SelectedTile.model.Improvement == 0)
             {
-                MapView.SelectedTile.Image = b.Image;
+                MapView.SelectedTile.model.Improvement = (Improvement) i;
+                if (!MapView.SelectedTile.model.HasChanged) return;
+
                 tbConstruct[i]++;
 
                 if (tbConstruct[1] % 5 ==0 && tbConstruct[1]!=0)