self.Bind(wx.calendar.EVT_CALENDAR, self.OnCalSelected, id=cal.GetId())
 
-        b = wx.Button(self, -1, "Destroy the Calendar", pos = (250, 50))
+        b = wx.Button(self, -1, "Destroy the Calendar", pos = (275, 50))
         self.Bind(wx.EVT_BUTTON, self.OnButton, id= b.GetId())
         self.cal = cal
 
         self.OnChangeMonth()
 
     def OnButton(self, evt):
-        self.cal.Destroy()
-        self.cal = None
+        if self.cal is not None:
+            self.cal.Destroy()
+            self.cal = None
 
     def OnCalSelected(self, evt):
         self.log.write('OnCalSelected: %s\n' % evt.GetDate())
 if __name__ == '__main__':
     import sys,os
     import run
-    run.main(['', os.path.basename(sys.argv[0])])
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])