x2 = width-1
         y2 = height-1
         
-        dc = wx.BufferedPaintDC(self)
+        dc = wx.PaintDC(self)
         brush = None
         
         if self.up:
             if not self.up:    # if the button was down when the mouse was released...
                 self.Notify()
             self.up = True
-            self.Refresh()
-            event.Skip()
+            if self:           # in case the button was destroyed in the eventhandler
+                self.Refresh()
+                event.Skip()
 
 
     def OnMotion(self, event):