Index: /CKEditor/branches/versions/3.4.x/_source/plugins/find/dialogs/find.js
===================================================================
--- /CKEditor/branches/versions/3.4.x/_source/plugins/find/dialogs/find.js	(revision 5785)
+++ /CKEditor/branches/versions/3.4.x/_source/plugins/find/dialogs/find.js	(revision 5786)
@@ -6,7 +6,9 @@
 (function()
 {
+	var isReplace;
+
 	function findEvaluator( node )
 	{
-		return node.type == CKEDITOR.NODE_TEXT && node.getLength() > 0 && !node.isReadOnly();
+		return node.type == CKEDITOR.NODE_TEXT && node.getLength() > 0 && ( !isReplace || !node.isReadOnly() );
 	}
 
@@ -283,4 +285,12 @@
 			},
 
+			isReadOnly : function()
+			{
+				if ( !this._.highlightRange )
+					return 0;
+
+				return this._.highlightRange.startContainer.isReadOnly();
+			},
+
 			moveBack : function()
 			{
@@ -519,4 +529,6 @@
 				matchCyclic , isReplaceAll )
 			{
+				isReplace = 1;
+
 				// Successiveness of current replace/find.
 				var result = false;
@@ -525,5 +537,5 @@
 				// 2. Otherwise perform the find but don't replace it immediately.
 				if ( this.matchRange && this.matchRange.isMatched()
-						&& !this.matchRange._.isReplaced )
+						&& !this.matchRange._.isReplaced && !this.matchRange.isReadOnly() )
 				{
 					// Turn off highlight for a while when saving snapshots.
@@ -555,4 +567,6 @@
 					result = this.find( pattern, matchCase, matchWord, matchCyclic, !isReplaceAll );
 
+				isReplace = 0;
+
 				return result;
 			}
