Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 6616)
+++ /CKEditor/trunk/CHANGES.html	(revision 6617)
@@ -94,4 +94,5 @@
 		<li><a href="http://dev.ckeditor.com/changeset/6604">[6604]</a> : Xml.js and Ajax.js are available as plugins ('xml' and 'ajax').</li>
 		<li><a href="http://dev.ckeditor.com/ticket/7304">#7304</a> : MS-Word cleanup function is not always invoked when click on "Paste From Word" button.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/7359">#7359</a> : Apply block style to list item without editor focus problematic.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/7124">#7124</a> : Czech;</li>
Index: /CKEditor/trunk/_source/plugins/domiterator/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/domiterator/plugin.js	(revision 6616)
+++ /CKEditor/trunk/_source/plugins/domiterator/plugin.js	(revision 6617)
@@ -32,5 +32,7 @@
 	var beginWhitespaceRegex = /^[\r\n\t ]+$/,
 		// Ignore bookmark nodes.(#3783)
-		bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true );
+		bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true ),
+		whitespacesGuard = CKEDITOR.dom.walker.whitespaces( true ),
+		skipGuard = function( node ) { return bookmarkGuard( node ) && whitespacesGuard( node ); };
 
 	// Get a reference for the next element, bookmark nodes are skipped.
@@ -208,5 +210,5 @@
 				if ( range && !closeRange )
 				{
-					while ( !currentNode.getNext( bookmarkGuard ) && !isLast )
+					while ( !currentNode.getNext( skipGuard ) && !isLast )
 					{
 						var parentNode = currentNode.getParent();
@@ -216,5 +218,8 @@
 						{
 							closeRange = 1;
+							includeNode = 0;
 							isLast = isLast || ( parentNode.equals( lastNode) );
+							// Make sure range includes bookmarks at the end of the block. (#7359)
+							range.setEndAt( parentNode, CKEDITOR.POSITION_BEFORE_END );
 							break;
 						}
