Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5954)
+++ /CKEditor/trunk/CHANGES.html	(revision 5955)
@@ -134,4 +134,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/6315">#6315</a> : DIV plugin TT #2885 regression.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/5595">#5595</a> : Extra leading spaces added in preformatted block.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6094">#6094</a> : Match full word option doesn't stop on block boundaries.</li>
 		<li>Updated the following language files:<ul>
 			<li><a href="http://dev.ckeditor.com/ticket/6246">#6246</a> : Chinese Simplified;</li>
Index: /CKEditor/trunk/_source/plugins/find/dialogs/find.js
===================================================================
--- /CKEditor/trunk/_source/plugins/find/dialogs/find.js	(revision 5954)
+++ /CKEditor/trunk/_source/plugins/find/dialogs/find.js	(revision 5955)
@@ -84,9 +84,19 @@
 		var characterWalker = function( range , matchWord )
 		{
+			var self = this;
 			var walker =
 				new CKEDITOR.dom.walker( range );
-			walker.guard = matchWord ? nonCharactersBoundary : null;
+			walker.guard = matchWord ? nonCharactersBoundary : function( node )
+			{
+				!nonCharactersBoundary( node ) && ( self._.matchBoundary = true );
+			};
 			walker[ 'evaluator' ] = findEvaluator;
 			walker.breakOnFalse = 1;
+
+			if ( range.startContainer.type == CKEDITOR.NODE_TEXT )
+			{
+				this.textNode = range.startContainer;
+				this.offset = range.startOffset - 1;
+			}
 
 			this._ = {
@@ -145,10 +155,4 @@
 							 || this._.walker._.end )
 							break;
-
-						// Marking as match character boundaries.
-						if ( !currentTextNode
-						   && !nonCharactersBoundary( this._.walker.current ) )
-							this._.matchBoundary = true;
-
 					}
 					// Found a fresh text node.
