diff --git a/map.c b/map.c
index e404aacd9617d712804ea9089735ed874c33e52f..56f3e287efe8f0f467e6d30cc2333b78427b4d9b 100644
--- a/map.c
+++ b/map.c
@@ -115,17 +115,17 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
         if (paste_row(renderer,cur->y_pos,cur->row_type))
             return(-1);
 
-        if (cur->cars != NULL){
-            if (move_car(renderer,cur) && cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE){
-                return(1);
-            }
-        }
-
         if (cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE && (cur->row_type == grassBright ||
             cur->row_type == grassDark || cur->row_type == finishlineBright || cur->row_type == finishlineDark)){
                 recenter_player();
             }
 
+        else if (cur->cars != NULL){
+            if (move_car(renderer,cur) && cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE){
+                return(1);
+            }
+        }
+        
         if (cur->next == NULL){
             break;
         }