diff -uNr sw.old/source/core/undo/undel.cxx sw.new/source/core/undo/undel.cxx --- sw.old/source/core/undo/undel.cxx 2006-11-01 19:11:04.000000000 +0800 +++ sw.new/source/core/undo/undel.cxx 2007-09-12 23:01:00.000000000 +0800 @@ -349,10 +349,13 @@ aRg.aStart++; // Step 3: Moving into UndoArray... + ULONG nNdPos = rPam.GetPoint()->nNode.GetIndex(); nNode = rNds.GetEndOfContent().GetIndex(); rDocNds._MoveNodes( aRg, rNds, SwNodeIndex( rNds.GetEndOfContent() )); pMvStt = new SwNodeIndex( rNds, nNode ); nNode = rNds.GetEndOfContent().GetIndex() - nNode; // Differenz merken ! + if( !pSttTxtNd && !pEndTxtNd && nNdPos != rPam.GetPoint()->nNode.GetIndex() ) + rPam.GetPoint()->nNode--; if( pSttTxtNd && pEndTxtNd ) { //Step 4: Moving around sections