- startPath = new CKEDITOR.dom.elementPath( range.startContainer ),\r
- endPath = new CKEDITOR.dom.elementPath( range.endContainer );\r
-\r
- // Drop the range if it only contains bookmark nodes.(#4087)\r
- if ( boundaryNodes.startNode.equals( boundaryNodes.endNode )\r
- && boundaryNodes.startNode.getParent().equals( startPath.blockLimit )\r
- && boundaryNodes.startNode.type == CKEDITOR.NODE_ELEMENT\r
- && boundaryNodes.startNode.getAttribute( '_fck_bookmark' ) )\r
+ startPath = new CKEDITOR.dom.elementPath( range.startContainer );\r
+\r
+ // Drop the range if it only contains bookmark nodes, and is\r
+ // not because of the original collapsed range. (#4087,#4450)\r
+ if ( boundaryNodes.startNode.getParent().equals( startPath.blockLimit )\r
+ && isBookmark( boundaryNodes.startNode ) && isBookmark( boundaryNodes.endNode ) )\r