Index: /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/GeorefImage.java
===================================================================
--- /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/GeorefImage.java	(revision 22853)
+++ /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/GeorefImage.java	(revision 22854)
@@ -25,5 +25,5 @@
 	public enum State { IMAGE, NOT_IN_CACHE, FAILED};
 
-	private final WMSLayer layer;
+	private WMSLayer layer;
 	private State state;
 
@@ -170,4 +170,5 @@
 
 	private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
+		state = (State) in.readObject();
 		boolean hasImage = in.readBoolean();
 		if (hasImage)
@@ -180,4 +181,5 @@
 
 	private void writeObject(ObjectOutputStream out) throws IOException {
+		out.writeObject(state);
 		if(getImage() == null) {
 			out.writeBoolean(false);
@@ -215,3 +217,7 @@
 		return yIndex;
 	}
+	
+	public void setLayer(WMSLayer layer) {
+	    this.layer = layer;
+	}
 }
Index: /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/WMSLayer.java
===================================================================
--- /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/WMSLayer.java	(revision 22853)
+++ /applications/editors/josm/plugins/wmsplugin/src/wmsplugin/WMSLayer.java	(revision 22854)
@@ -640,4 +640,11 @@
 				ois.close();
 				fis.close();
+			    for (GeorefImage[] imgs : images) {
+			        for (GeorefImage img : imgs) {
+			            if (img != null) {
+					        img.setLayer(WMSLayer.this);
+			            }
+			        }
+			    }
 				settingsChanged = true;
 				mv.repaint();
