Index: src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java	(revision 2266)
+++ src/org/openstreetmap/josm/gui/dialogs/DialogsPanel.java	(working copy)
@@ -11,6 +11,7 @@
 
 import javax.swing.BoxLayout;
 import javax.swing.JPanel;
+import javax.swing.JSplitPane;
 
 import org.openstreetmap.josm.gui.MultiSplitLayout;
 import org.openstreetmap.josm.gui.MultiSplitLayout.Node;
@@ -29,6 +30,11 @@
      * Panels that are added to the multisplitpane.
      */
     private List<JPanel> panels = new ArrayList<JPanel>();
+    
+    final private JSplitPane parent;
+    public DialogsPanel(JSplitPane parent) {
+        this.parent = parent;
+    }
 
     private boolean initialized = false;
     public void initialize(List<ToggleDialog> allDialogs) {
@@ -258,6 +264,20 @@
         mSpltPane.getMultiSplitLayout().setDividerSize(DIVIDER_SIZE);
         mSpltPane.getMultiSplitLayout().setFloatingDividers(true);
         mSpltPane.revalidate();
+
+        /**
+         * Hide the Panel, if there is nothing to show
+         */
+        if (numPanels == 1 && panels.get(N-1).getComponents().length == 0)
+        {
+            this.setVisible(false);
+        } else {
+            if (this.getWidth() != 0) { // only if josm started with hidden panel
+                this.setPreferredSize(new Dimension(this.getWidth(), 0));
+            }
+            this.setVisible(true);
+            parent.resetToPreferredSizes();
+        }
     }
 
     public void destroy() {
Index: src/org/openstreetmap/josm/gui/MapFrame.java
===================================================================
--- src/org/openstreetmap/josm/gui/MapFrame.java	(revision 2266)
+++ src/org/openstreetmap/josm/gui/MapFrame.java	(working copy)
@@ -77,7 +77,7 @@
      * instead of adding directly to this list.
      */
     private List<ToggleDialog> allDialogs = new ArrayList<ToggleDialog>();
-    private DialogsPanel dialogsPanel = new DialogsPanel();
+    private DialogsPanel dialogsPanel;
 
     public final ButtonGroup toolGroup = new ButtonGroup();
 
@@ -107,8 +107,10 @@
 
         toolGroup.setSelected(((AbstractButton)toolBarActions.getComponent(0)).getModel(), true);
 
-        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,
-                             mapView, dialogsPanel);
+        JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true);
+        dialogsPanel = new DialogsPanel(splitPane);
+        splitPane.setLeftComponent(mapView);
+        splitPane.setRightComponent(dialogsPanel);
 
         /**
          * All additional space goes to the mapView
