diff -uNr sw.old/source/core/undo/untbl.cxx sw.new/source/core/undo/untbl.cxx --- sw.old/source/core/undo/untbl.cxx 2007-12-18 19:26:14.000000000 +0800 +++ sw.new/source/core/undo/untbl.cxx 2007-12-18 19:26:32.000000000 +0800 @@ -2247,9 +2247,13 @@ aHst.Add( *rArr[ n ].pFrmFmt ); SwUndoMove* pUndoMove; - - if( pDoc->Move( rPam, rPos, IDocumentContentOperations::DOC_MOVEREDLINES ) ) - pUndoMove = (SwUndoMove*)pDoc->RemoveLastUndo( UNDO_MOVE ); + + if( pDoc->Move( rPam, rPos, IDocumentContentOperations::DOC_MOVEREDLINES ) ) + { + while ( pDoc->GetUndoIds(NULL,NULL) != UNDO_MOVE ) + pUndoMove = (SwUndoMove*)pDoc->RemoveLastUndo( pDoc->GetUndoIds(NULL,NULL) ); + pUndoMove = (SwUndoMove*)pDoc->RemoveLastUndo( UNDO_MOVE ); + } else { // wir muessen das Undo Object haben!