diff --git a/Assets/Scripts/Loading/Stage.cs b/Assets/Scripts/Loading/Stage.cs
index 681342045804be4ea42c3e39bc8a1ac730b542de..e0164ce261b7d34818e67f63fbce2086bf0dc873 100644
--- a/Assets/Scripts/Loading/Stage.cs
+++ b/Assets/Scripts/Loading/Stage.cs
@@ -250,6 +250,7 @@ public bool set_record(string record_index)
         player_record = player_record_list[record_index].Clone();
         player_record.name = record_name;
 
+        player_record.solved = false;
         store(false);
         return true;
     }
@@ -281,6 +282,7 @@ public void push_record(double seconds_s = -1, bool force_push = false)
 
         player_record_list.Add(push.name, push);
 
+        player_record.solved = false;
         store(false);
     }
 
@@ -522,7 +524,7 @@ public PlayerRecord Clone()
     {
         var ret = new PlayerRecord(this.name)
         {
-            solved = false, // this.solved,
+            solved = this.solved,
             seconds = this.seconds
         };
         ret.factState = IJSONsavable<FactOrganizer>.postprocess(this.factState);
diff --git a/Assets/Scripts/StageBehaviour.cs b/Assets/Scripts/StageBehaviour.cs
index 5b08a6d6c23e4c73d9bef42bfc8f5a88e2785baf..1cb2349fc3f9fb29ccaf5926e6dfea431378f5c1 100644
--- a/Assets/Scripts/StageBehaviour.cs
+++ b/Assets/Scripts/StageBehaviour.cs
@@ -23,7 +23,7 @@ void Start()
     private void OnDestroy()
     {
         StageStatic.SetMode(Mode.Play); // no Mode.Create
-        StageStatic.stage.solution.hardreset(invoke_event: false);
+        // StageStatic.stage.solution.hardreset(invoke_event: false); NO! keep in memory!
         StageStatic.stage.factState.hardreset(invoke_event: false);
     }
 
diff --git a/Assets/Scripts/StageStatic.cs b/Assets/Scripts/StageStatic.cs
index aedd38f9239aa2c30fb4cadbb9d275bcb1365be8..c1427d5fa02974d05d47678f249e8049d8e92bfb 100644
--- a/Assets/Scripts/StageStatic.cs
+++ b/Assets/Scripts/StageStatic.cs
@@ -224,7 +224,7 @@ public static StageErrorStruct Validate(string category, int id, string name, st
         return new StageErrorStruct(
             category.Length == 0,
             ContainsNumber(category, id, true),
-            name.Length == 0 || ContainsKey(name, local),
+            name.Length == 0 || ContainsKey(name, false) || ContainsKey(name, true),
             false,
             !Worlds.Contains(scene),
             local == false,