Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 6828)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java	(revision 6829)
@@ -88,5 +88,5 @@
         DYNAMIC
     }
-    
+
     /**
      * Property to enable dyanmic buttons globally.
@@ -762,5 +762,5 @@
         refreshHidingButtons();
     }
-    
+
     public int getPreferredHeight() {
         return preferredHeight;
@@ -893,16 +893,18 @@
     public void eventDispatched(AWTEvent event) {
         if(isShowing() && !isCollapsed && isDocked && buttonHiding == ButtonHidingType.DYNAMIC) {
-            Rectangle b = this.getBounds();
-            b.setLocation(getLocationOnScreen());
-            if (b.contains(((MouseEvent)event).getLocationOnScreen())) {
-                if(!buttonsPanel.isVisible()) {
-                    buttonsPanel.setVisible(true);
-                }
-            } else if (buttonsPanel.isVisible()) {
-                buttonsPanel.setVisible(false);
-            }
-        }
-    }
-    
+            if (buttonsPanel != null) {
+                Rectangle b = this.getBounds();
+                b.setLocation(getLocationOnScreen());
+                if (b.contains(((MouseEvent)event).getLocationOnScreen())) {
+                    if(!buttonsPanel.isVisible()) {
+                        buttonsPanel.setVisible(true);
+                    }
+                } else if (buttonsPanel.isVisible()) {
+                    buttonsPanel.setVisible(false);
+                }
+            }
+        }
+    }
+
     @Override
     public void preferenceChanged(PreferenceChangeEvent e) {
@@ -911,5 +913,5 @@
         }
     }
-    
+
     private void dynamicButtonsPropertyChanged() {
         boolean propEnabled = PROP_DYNAMIC_BUTTONS.get();
