diff --git a/resources/Classes.xml b/resources/Classes.xml
index d15fd042a631d2ddc816c3d97f61cfd9d94d9950..f8c83f0ea238b6ce9bdc8ac3f2563c418e157dbf 100644
--- a/resources/Classes.xml
+++ b/resources/Classes.xml
@@ -74,6 +74,6 @@
 			</Skill>
 		</Skills>
 		<Skin id="SP_ARCHER"  f_default="../resources/Skins/archer.bmp"  f_selected="../resources/Skins/archer_selected.bmp" f_healed="../resources/Skins/archer_healed.bmp" f_damaged="../resources/Skins/archer_damaged.bmp">
-    	<Skin>
+    		</Skin>
 	</Classe>
 </Classes>
diff --git a/src/SDL_bis.c b/src/SDL_bis.c
index e98fc726074efc0bf4cca807d82289c83cbe07c6..f36df2afbf07a6f21b3859a14d6c0ee20a3e96a8 100644
--- a/src/SDL_bis.c
+++ b/src/SDL_bis.c
@@ -70,7 +70,8 @@ char* afficherListe(char** nomsClasses, char** skinsClasses, int nbChoix, TTF_Fo
         switch(event.type)
         {
             case SDL_QUIT:
-                quitter=1;
+                SDL_FreeSurface(fenetre);
+                return "fermer";
                 break;
             case SDL_MOUSEBUTTONDOWN:
                 for(i=0;i<nbChoix;i++)
@@ -322,8 +323,12 @@ int SDL_bis()
                 }
                 if(j!=0&&p!=0){
                     classeChoisie=afficherListe(obtenirNomsClasses(), obtenirSkinsClasses(), nbClasses(), police, couleurBlanche);
-                    numClassePerso[p-1][j-1]=ajouterPersonnage(classeChoisie, p-1, j);
+                    if(classeChoisie!="fermer")
+                    {
+                        numClassePerso[p-1][j-1]=ajouterPersonnage(classeChoisie, p-1, j);
+                    }
                     ecran = SDL_SetVideoMode(LARGEUR_CARTE*(LARGEUR_CASE+1), HAUTEUR_CARTE*(HAUTEUR_CASE+2), 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
+
                 }
                 break;
             default:
@@ -353,6 +358,6 @@ int SDL_bis()
         j=0;
         num_classe=-1;
     }
-
+    SDL_Quit();
     return 0;
 }