Index: scripts/Evolution.py
===================================================================
--- scripts/Evolution.py	(revision 3440)
+++ scripts/Evolution.py	(working copy)
@@ -871,6 +871,16 @@
             column = \
                 parentTable.getColumnAtIndex(event.source.getIndexInParent())
 
+            # If we are on the same row, then just speak/braille the table
+            # cell as if settings.readTableCellRow was False. 
+            # See bug #503874 for more details.
+            #
+            if self.lastMessageRow == row:
+                default.Script.locusOfFocusChanged(self, event,
+                                           oldLocusOfFocus, newLocusOfFocus)
+                settings.readTableCellRow = True
+                return
+
             # This is an indication of whether we should speak all the table
             # cells (the user has moved focus up or down the list, or just
             # deleted a message), or just the current one (focus has moved
Index: speechgenerator.py
===================================================================
--- speechgenerator.py	(revision 3440)
+++ speechgenerator.py	(working copy)
@@ -1348,7 +1348,7 @@
 
         displayedText = self._script.getDisplayedText( \
                           self._script.getRealActiveDescendant(obj))
-        if not already_focused:
+        if not already_focused and not displayedText in utterances:
             utterances.append(displayedText)
 
         # If there is no displayed text, check to see if this table cell 
Index: braillegenerator.py
===================================================================
--- braillegenerator.py	(revision 3440)
+++ braillegenerator.py	(working copy)
@@ -1205,6 +1205,7 @@
                     + "looking at action %d" % i)
                 if action.getName(i) == "toggle":
                     regions = self._getBrailleRegionsForCheckBox(obj)
+                    regions[0].append(braille.Region(" "))
 
                     # If this table cell doesn't have any label associated
                     # with it then also braille the table column header.
