Index: generic/tkText.c
==================================================================
--- generic/tkText.c
+++ generic/tkText.c
@@ -2096,10 +2096,11 @@
 
 		TkTextSelectionEvent(textPtr);
 		textPtr->abortSelections = 1;
 	    }
 	}
+        textPtr->sharedTextPtr->stateEpoch++;
     }
 
     /*
      * Don't allow negative spacings.
      */

Index: generic/tkText.h
==================================================================
--- generic/tkText.h
+++ generic/tkText.h
@@ -559,13 +559,14 @@
 				 * this widget. NULL means that no bindings
 				 * exist, so the table hasn't been created.
 				 * Each "object" used for this table is the
 				 * name of a tag. */
     int stateEpoch;		/* This is incremented each time the B-tree's
-				 * contents change structurally, and means
-				 * that any cached TkTextIndex objects are no
-				 * longer valid. */
+				 * contents change structurally, or when the
+				 * start/end limits change, and means that any
+				 * cached TkTextIndex objects are no longer
+				 * valid. */
 
     /*
      * Information related to the undo/redo functionality.
      */
 

