Im doing a game with 2 levels, one outdoor and one underground, both are big levels with a lot of models entities created and destroyed in realtime, when the player goes from one level to another I use SAVE to store current game status just before use level_load to load the another level, when the player come back to the first level I use SAVE again to save the game status being in this level, and then use LOAD to load the first level again, but when the first level is loaded, sometimes the models are changed, the cars that follow a path now are trees following the path, and some bats were flying now are chairs flying, what is happening, why everyting are mixed up ?

This is the code to go to Underground Level ...
code:
function underground_event()
{
if (bUnderGround){return;}
if ((event_type == event_trigger) && (you == player)){
bUnderground = on;
save("surface_", 1);

if (bUnderGround_FirstTime){
bUnderGround_firsttime = off;

show_underground_mode();

level_load(underground_level_str);
}else{
load("under_", 2);
}
}
}

... and this for comeback to surface level...
code:
 
function come_back_level_event()
{
if (!bUnderGround){return;}
if ((event_type == event_trigger) && (you == player)){
bUnderground = off;
save("under_", 2);

show_walking_mode();
load("surface_", 1);
}
}

I don't know what im doing wrong, but some entities models are interchanged after comeback to surface with this code.

I will thanks a lot any help