Index: src/orca/util.py
===================================================================
--- src/orca/util.py	(revision 2113)
+++ src/orca/util.py	(working copy)
@@ -970,52 +970,3 @@
             done = True
 
     return len(nodes) - 1
-
-def getAcceleratorAndShortcut(obj):
-    """Gets the accelerator string (and possibly shortcut) for the given
-    object.
-
-    Arguments:
-    - obj: the Accessible object
-
-    A list containing the accelerator and shortcut for the given object,
-    where the first element is the accelerator and the second element is
-    the shortcut.
-    """
-
-    action = obj.action
-
-    if not action:
-        return ["", ""]
-
-    # [[[TODO: WDW - assumes the first keybinding is all that we care about.
-    # Logged as bugzilla bug 319741.]]]
-    #
-    bindingStrings = action.getKeyBinding(0).split(';')
-
-    # [[[TODO: WDW - assumes menu items have three bindings.  Logged as
-    # bugzilla bug 319741.]]]
-    #
-    if len(bindingStrings) == 3:
-        #mnemonic       = bindingStrings[0]
-        fullShortcut   = bindingStrings[1]
-        accelerator    = bindingStrings[2]
-    elif len(bindingStrings) > 0:
-        fullShortcut   = bindingStrings[0]
-        accelerator    = ""
-    else:
-        fullShortcut   = ""
-        accelerator    = ""
-
-    fullShortcut = fullShortcut.replace("<","")
-    fullShortcut = fullShortcut.replace(">"," ")
-    fullShortcut = fullShortcut.replace(":"," ")
-
-    # If the accelerator string includes a Space, make sure we speak it.
-    #
-    if accelerator.endswith(" "):
-        accelerator += "space"
-    accelerator  = accelerator.replace("<","")
-    accelerator  = accelerator.replace(">"," ")
-
-    return [accelerator, fullShortcut]
Index: src/orca/speechgenerator.py
===================================================================
--- src/orca/speechgenerator.py	(revision 2112)
+++ src/orca/speechgenerator.py	(working copy)
@@ -166,7 +166,7 @@
         Returns a list of utterances to be spoken.
         """
 
-        result = util.getAcceleratorAndShortcut(obj)
+        result = self._script.getAcceleratorAndShortcut(obj)
 
         accelerator = result[0]
         #shortcut = result[1]
Index: src/orca/default.py
===================================================================
--- src/orca/default.py	(revision 2113)
+++ src/orca/default.py	(working copy)
@@ -3445,6 +3445,55 @@
 # here so that they can be customized in application scripts if so desired.
 # 
 
+    def getAcceleratorAndShortcut(self, obj):
+        """Gets the accelerator string (and possibly shortcut) for the given
+        object.
+
+        Arguments:
+        - obj: the Accessible object
+
+        A list containing the accelerator and shortcut for the given object,
+        where the first element is the accelerator and the second element is
+        the shortcut.
+        """
+
+        action = obj.action
+
+        if not action:
+            return ["", ""]
+
+        # [[[TODO: WDW - assumes the first keybinding is all that we care about.
+        # Logged as bugzilla bug 319741.]]]
+        #
+        bindingStrings = action.getKeyBinding(0).split(';')
+
+        # [[[TODO: WDW - assumes menu items have three bindings.  Logged as
+        # bugzilla bug 319741.]]]
+        #
+        if len(bindingStrings) == 3:
+            #mnemonic       = bindingStrings[0]
+            fullShortcut   = bindingStrings[1]
+            accelerator    = bindingStrings[2]
+        elif len(bindingStrings) > 0:
+            fullShortcut   = bindingStrings[0]
+            accelerator    = ""
+        else:
+            fullShortcut   = ""
+            accelerator    = ""
+
+        fullShortcut = fullShortcut.replace("<","")
+        fullShortcut = fullShortcut.replace(">"," ")
+        fullShortcut = fullShortcut.replace(":"," ")
+
+        # If the accelerator string includes a Space, make sure we speak it.
+        #
+        if accelerator.endswith(" "):
+            accelerator += "space"
+        accelerator  = accelerator.replace("<","")
+        accelerator  = accelerator.replace(">"," ")
+
+        return [accelerator, fullShortcut]
+
     def getKnownApplications(self):
         """Retrieves the list of currently running apps for the desktop
         as a list of Accessible objects.
Index: src/orca/where_am_I.py
===================================================================
--- src/orca/where_am_I.py	(revision 2109)
+++ src/orca/where_am_I.py	(working copy)
@@ -80,7 +80,7 @@
          _getObjLabel(obj),
          _getObjName(obj),
          obj.role,
-         util.getAcceleratorAndShortcut(obj),
+         orca_state.activeScript.getAcceleratorAndShortcut(obj),
          _getObjLabel(obj.parent),
          _getObjName(obj.parent),
          obj.parent.role,
@@ -792,7 +792,7 @@
     Returns the accellerator and/or shortcut for the object,
     if either exists.
     """
-    list = util.getAcceleratorAndShortcut(obj)
+    list = orca_state.activeScript.getAcceleratorAndShortcut(obj)
 
     text = ""
     if not list[1]:
@@ -807,7 +807,7 @@
     """
     Returns the accelerator for the object, if it exists.
     """
-    list = util.getAcceleratorAndShortcut(obj)
+    list = orca_state.activeScript.getAcceleratorAndShortcut(obj)
 
     text = ""
     if list[0]:
@@ -820,7 +820,7 @@
     """
     Returns the shortcut for the object, if it exists.
     """
-    list = util.getAcceleratorAndShortcut(obj)
+    list = orca_state.activeScript.getAcceleratorAndShortcut(obj)
 
     text = ""
     if list[1]:
Index: src/orca/braillegenerator.py
===================================================================
--- src/orca/braillegenerator.py	(revision 2109)
+++ src/orca/braillegenerator.py	(working copy)
@@ -165,7 +165,7 @@
         if settings.brailleVerbosityLevel == settings.VERBOSITY_LEVEL_VERBOSE:
             text = ""
 
-            result = util.getAcceleratorAndShortcut(obj)
+            result = self._script.getAcceleratorAndShortcut(obj)
 
             accelerator = result[0]
             #shortcut = result[1]
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 2113)
+++ ChangeLog	(working copy)
@@ -56,6 +56,16 @@
           Moved:
           def getKnownApplications():
 
+        * src/orca/braillegenerator.py:
+          src/orca/default.py:
+          src/orca/speechgenerator.py:
+          src/orca/where_am_I.py:
+          src/orca/util.py:
+          Another partial fix for bug #395548.
+
+          Moved:
+          def getAcceleratorAndShortcut(obj):
+
 2007-03-05  Rich Burridge <rich.burridge@sun.com>
 
         * src/orca/debug.py:
