                 var insertOp:InsertTextOperation = event.operation as InsertTextOperation;
                 if (insertOp.deleteSelectionState != null && !insertOp.deleteSelectionState.tlf_internal::selectionManagerOperationState) {
                     //OVERRIDING INSERT
-                    if (isSeparator(ac)) {
+                    if (EditManager.overwriteMode) {
+                        //windows insert mode on (note that Flash Player does not track insertion mode state before running a SWF)
+                        if (isSeparator(ac - 1)) {
+                            outputText = super.text.substring(0, insertOp.originalSelectionState.anchorPosition + 1) + super.text.substring(insertOp.originalSelectionState.anchorPosition + 2);
+                        } else {
+                            outputText = super.text;
+                        }
+                        an -= 1;
+                        ac -= 1;
+                    }
+                    else if (isSeparator(ac)) {
                         outputText = super.text.substring(0, insertOp.originalSelectionState.anchorPosition + 1) + insertOp.text + super.text.substring(insertOp.originalSelectionState.activePosition + 1);
                     } else {
                         outputText = super.text.substring(0, insertOp.originalSelectionState.anchorPosition) + insertOp.text + super.text.substring(insertOp.originalSelectionState.activePosition);

                        ac = ac + 1;
                    }
                } else {

                    for (var i:int = 0; i < maskText.length; i++) {
                        if (stack.length == 0) {
                            break;

         * @param event the TextEvent
         */
        protected function overrideText(event:TextEvent):void {
            //windows insert mode on (note that Flash Player does not track insertion mode state before running a SWF)
            if (EditManager.overwriteMode) {
                return;
            }

            var an:int = selectionAnchorPosition;
            var ac:int = selectionActivePosition;

