Index: /CKEditor/branches/features/contenteditable/_source/core/dom/rangelist.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/core/dom/rangelist.js	(revision 5611)
+++ /CKEditor/branches/features/contenteditable/_source/core/dom/rangelist.js	(revision 5612)
@@ -18,4 +18,6 @@
 	CKEDITOR.dom.rangeList = function( ranges )
 	{
+		if ( ranges.createIterator )
+			return ranges;
 		if ( !ranges )
 			ranges = [];
Index: /CKEditor/branches/features/contenteditable/_source/plugins/selection/plugin.js
===================================================================
--- /CKEditor/branches/features/contenteditable/_source/plugins/selection/plugin.js	(revision 5611)
+++ /CKEditor/branches/features/contenteditable/_source/plugins/selection/plugin.js	(revision 5612)
@@ -990,5 +990,5 @@
 				this._.cache.selectedElement = null;
 				this._.cache.startElement = ranges[ 0 ].getTouchedStartNode();
-				this._.cache.ranges = ranges;
+				this._.cache.ranges = new CKEDITOR.dom.rangeList( ranges );
 				this._.cache.type = CKEDITOR.SELECTION_TEXT;
 
