This is an easy thing to have happen if you're not careful that you're only storing the map ONE place in your code.
For example, you may want to store the "one true current map" object as a private static reference inside your App class, with getCurrentMap() and setCurrentMap() helper methods.
Then:
- make sure to call the App class's setCurrentMap() method when you load the map from a file, and
- WHENEVER you are doing anything with the map (e.g. editing it, previewing it, etc), make sure that you are calling App.getCurrentMap(), rather than referring to an old map stored in an instance variable in a different class.
This is arguably another application of the DRY principle (sort of), albeit for data storage rather than about instruction codes. i.e. don't repeat yourself by storing multiple references to the terrain map in different classes. Instead, ONE class should be responsible for storing/maintaining the current terrain map object.
Something similar to the Singleton design pattern could be useful for your team to restrict access to the Terrain Map's constructor, and prevent your developers from creating more than one object. (However, the Singleton pattern may not work quite right because you need to be able to create a new object when you load from JSON... so a bit of modification to the pattern would be necessary.)