Index: /applications/editors/josm/plugins/piclayer/build.xml
===================================================================
--- /applications/editors/josm/plugins/piclayer/build.xml	(revision 27165)
+++ /applications/editors/josm/plugins/piclayer/build.xml	(revision 27166)
@@ -22,5 +22,5 @@
 -->
 <project name="PicLayer" default="dist" basedir=".">
-    <property name="commit.message" value="PicLayer - changed shortcut to prevent conflict with Imagery menu, #7084"/>
+    <property name="commit.message" value="PicLayer - removed hiding buttons from PicLayer main menu - this is in core responsibility now"/>
     <property name="plugin.main.version" value="4549"/>
     <!--
Index: /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/ActionVisibilityChangeMenu.java
===================================================================
--- /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/ActionVisibilityChangeMenu.java	(revision 27165)
+++ /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/ActionVisibilityChangeMenu.java	(revision 27166)
@@ -5,9 +5,9 @@
 import java.awt.event.ActionEvent;
 
-import javax.swing.AbstractAction;
 import javax.swing.JCheckBoxMenuItem;
 import javax.swing.JMenu;
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
 
 enum PicActions {MOVE_PICTURE, MOVE_POINT, TRANSFORM_POINT, SCALEX, SCALEY, SCALEXY, SHEAR, ROTATE}
@@ -29,14 +29,22 @@
         super();
         setSelected(Main.pref.getBoolean(button.getVisibilityKey(), button.getDefVisibility()));
-        setAction(new AbstractAction() {
-            @Override
-            public void actionPerformed(ActionEvent e) {
-                boolean val = !Main.pref.getBoolean(button.getVisibilityKey(), button.getDefVisibility());
-                Main.pref.put(button.getVisibilityKey(), val);
-                SwitchVisibilityMenuItem.this.setSelected(val);
-                button.setVisible(val);
-            }
-        });
-        setText(tr(button.getBtnName()));
+        setAction(new ButtonAction(button));
+    }
+    class ButtonAction extends JosmAction {
+        private PicToggleButton button;
+
+        public ButtonAction(PicToggleButton button) {
+            super(button.getBtnName(), null, button.getBtnName(), null, false, false);
+            this.button = button;
+        }
+
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            boolean val = !Main.pref.getBoolean(button.getVisibilityKey(), button.getDefVisibility());
+            Main.pref.put(button.getVisibilityKey(), val);
+            SwitchVisibilityMenuItem.this.setSelected(val);
+            button.setVisible(val);
+        }
+
     }
 }
Index: /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java
===================================================================
--- /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java	(revision 27165)
+++ /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicLayerPlugin.java	(revision 27166)
@@ -23,4 +23,5 @@
 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.marktr;
+import static org.openstreetmap.josm.tools.I18n.tr;
 
 import java.awt.event.KeyEvent;
@@ -59,5 +60,4 @@
     // Plugin menu
     private JMenu menu = null;
-    private ActionVisibilityChangeMenu actionVisibility;
 
     /**
@@ -102,19 +102,16 @@
 
             buttonList = new ArrayList<PicToggleButton>(7);
-            buttonList.add(new PicToggleButton(movePictureAction, "Move Picture", "piclayer.actionvisibility.move", true));
-            buttonList.add(new PicToggleButton(movePointAction, "Move Point", "piclayer.actionvisibility.movepoint", true));
-            buttonList.add(new PicToggleButton(transformPointAction, "Transform Point", "piclayer.actionvisibility.transformpoint", true));
-            buttonList.add(new PicToggleButton(rotatePictureAction, "Rotate", "piclayer.actionvisibility.rotate", false));
-            buttonList.add(new PicToggleButton(scaleXYPictureAction, "Scale", "piclayer.actionvisibility.scale", false));
-            buttonList.add(new PicToggleButton(scaleXPictureAction, "Scale X", "piclayer.actionvisibility.scalex", false));
-            buttonList.add(new PicToggleButton(scaleYPictureAction, "Scale Y", "piclayer.actionvisibility.scaley", false));
-            buttonList.add(new PicToggleButton(shearPictureAction, "Shear", "piclayer.actionvisibility.shear", false));
+            buttonList.add(new PicToggleButton(movePictureAction, tr("Move Picture"), "piclayer.actionvisibility.move", true));
+            buttonList.add(new PicToggleButton(movePointAction, tr("Move Point"), "piclayer.actionvisibility.movepoint", true));
+            buttonList.add(new PicToggleButton(transformPointAction, tr("Transform Point"), "piclayer.actionvisibility.transformpoint", true));
+            buttonList.add(new PicToggleButton(rotatePictureAction, tr("Rotate"), "piclayer.actionvisibility.rotate", false));
+            buttonList.add(new PicToggleButton(scaleXYPictureAction, tr("Scale"), "piclayer.actionvisibility.scale", false));
+            buttonList.add(new PicToggleButton(scaleXPictureAction, tr("Scale X"), "piclayer.actionvisibility.scalex", false));
+            buttonList.add(new PicToggleButton(scaleYPictureAction, tr("Scale Y"), "piclayer.actionvisibility.scaley", false));
+            buttonList.add(new PicToggleButton(shearPictureAction, tr("Shear"), "piclayer.actionvisibility.shear", false));
 
             for(IconToggleButton btn : buttonList) {
                 newFrame.addMapMode(btn);
             }
-
-            if (actionVisibility == null)
-                menu.add(actionVisibility = new ActionVisibilityChangeMenu());
         }
     }
@@ -129,6 +126,8 @@
         // actually that should be not enough - JOSM should hide all buttons that are disabled for current layer!
         if (oldPic && !newPic || oldLayer == null && !newPic) { // leave picture layer - hide all controls
-            for (PicToggleButton btn : buttonList)
+            for (PicToggleButton btn : buttonList) {
+                btn.writeVisible();
                 btn.setVisible(false);
+            }
         }
         if (!oldPic && newPic) { // enter picture layer - reset visibility of controls
Index: /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicToggleButton.java
===================================================================
--- /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicToggleButton.java	(revision 27165)
+++ /applications/editors/josm/plugins/piclayer/src/org/openstreetmap/josm/plugins/piclayer/PicToggleButton.java	(revision 27166)
@@ -34,4 +34,7 @@
         setVisible(Main.pref.getBoolean(getVisibilityKey(), getDefVisibility()));
     }
+    public void writeVisible() {
+        Main.pref.put(getVisibilityKey(), isVisible());
+    }
 
 }
