Index: src/orca/orca_gui_prefs.py
===================================================================
--- src/orca/orca_gui_prefs.py	(revision 4341)
+++ src/orca/orca_gui_prefs.py	(working copy)
@@ -27,6 +27,7 @@
 
 import os
 import sys
+import time
 import debug
 import gtk
 import gobject
@@ -394,11 +395,6 @@
         self.window = self.widgets.get_widget("orcaSetupWindow")
         self.window.resize(790, 580)
 
-        self.keyBindView.set_model(self.keyBindingsModel)
-        self.keyBindView.set_headers_visible(True)
-        self.keyBindView.expand_all()
-        self.keyBindView.show()
-
         self._setKeyEchoItems()
 
         self.speechSystemsModel  = \
@@ -2225,6 +2221,10 @@
         - clearModel: if True, initially clear out the key bindings model.
         """
 
+        self.keyBindView.set_model(None)
+        self.keyBindView.set_headers_visible(False)
+        self.keyBindView.hide_all()
+        self.keyBindView.hide()
         if clearModel:
             self.keyBindingsModel.clear()
             self.kbindings = None
@@ -2276,8 +2276,11 @@
             handl = defScript.getInputEventHandlerKey(inputEvHand)
             self._insertRowBraille(handl, com, inputEvHand, iterBB)
 
+        self.keyBindView.set_model(self.keyBindingsModel)
+        self.keyBindView.set_headers_visible(True)
         self.keyBindView.expand_all()
         self.keyBindingsModel.set_sort_column_id(OLDTEXT1, gtk.SORT_ASCENDING)
+        self.keyBindView.show()
 
         # Keep track of new/unbound keybindings that have yet to be applied.
         #
@@ -4041,9 +4044,16 @@
         - widget: the component that generated the signal.
         """
 
+        time0=time.time()
         self.applyButtonClicked(widget)
+        time1=time.time()
         self._cleanupSpeechServers()
+        time2 = time.time()
         self.get_widget("orcaSetupWindow").destroy()
+        time3 = time.time()
+        print("applying took %s" % (time1-time0))
+        print("_cleanupSpeechServers  took %s" % (time2-time1))
+        print("destroying window took %s" % (time3-time2))
 
     def windowDestroyed(self, widget):
         """Signal handler for the "destroyed" signal for the orcaSetupWindow
