diff --git a/travaux_pratiques/tpChaos/map.c b/travaux_pratiques/tpChaos/map.c
index bbfe0757c20b6f8ec6003d9657fc1e2136bd945c..525d25451e4c1ff1303dae68cbba6b4920c7fcfa 100644
--- a/travaux_pratiques/tpChaos/map.c
+++ b/travaux_pratiques/tpChaos/map.c
@@ -26,9 +26,10 @@ int main() {
         double x = 0.5;
         for (int i = 0; i < max_iter; ++i) {
             double lambda = lambda_min + i_lambda * dl;
-            x = map(x, lambda);
+            double x_new = map(x, lambda);
+            x = x_new;
             if (i > max_iter - M) {
-		        gfx_putpixel(ctxt, i_lambda, x * M, COLOR_WHITE);
+		        gfx_putpixel(ctxt, i_lambda, M - x * M - 1, COLOR_WHITE);
                 // printf("x(%d, %g) = %g\n", i, i_lambda * dl, x);
 
                 // usleep((unsigned int)1000);