Index: trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 13265)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 13266)
@@ -616,6 +616,5 @@
             add(new JMenuItem(new LoadTileAction()));
             add(new JMenuItem(new ShowTileInfoAction()));
-            if (ExpertToggleAction.isExpert() && tileSource != null && tileSource.getBaseUrl() != null
-                    && tileSource.getBaseUrl().contains(".tile.openstreetmap.org/")) {
+            if (ExpertToggleAction.isExpert() && tileSource != null && tileSource.isDirtyMode()) {
                 add(new JMenuItem(new GetOsmTileStatusAction()));
                 add(new JMenuItem(new MarkOsmTileDirtyAction()));
Index: trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java	(revision 13265)
+++ trunk/src/org/openstreetmap/josm/io/imagery/ImageryReader.java	(revision 13266)
@@ -207,5 +207,6 @@
                         "date",
                         TILE_SIZE,
-                        "valid-georeference"
+                        "valid-georeference",
+                        "dirty-mode"
                 ).contains(qName)) {
                     newState = State.ENTRY_ATTRIBUTE;
@@ -471,4 +472,7 @@
                     entry.setGeoreferenceValid(Boolean.parseBoolean(accumulator.toString()));
                     break;
+                case "dirty-mode":
+                    entry.setDirtyMode(Boolean.parseBoolean(accumulator.toString()));
+                    break;
                 default: // Do nothing
                 }
