Index: /FCKeditor/trunk/_whatsnew.html
===================================================================
--- /FCKeditor/trunk/_whatsnew.html	(revision 2246)
+++ /FCKeditor/trunk/_whatsnew.html	(revision 2247)
@@ -94,4 +94,6 @@
 			multiple contiguous paragraphs to Formatted will now be merged into a single 
 			&lt;PRE&gt; block.</li>
+		<li>[<a target="_blank" href="http://dev.fckeditor.net/ticket/2363">#2363</a>] There
+			were some sporadic "Permission Denied" errors with IE on some situations.</li>
 	</ul>
 	<p>
Index: /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js
===================================================================
--- /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js	(revision 2246)
+++ /FCKeditor/trunk/editor/_source/internals/fckdocumentprocessor.js	(revision 2247)
@@ -143,4 +143,17 @@
 	}
 
+	var processElementsByName = function( elementName, doc )
+	{
+		var aObjects = doc.getElementsByTagName( elementName );
+		for ( var i = aObjects.length - 1 ; i >= 0 ; i-- )
+			processElement( aObjects[i] ) ;
+	}
+
+	var processObjectAndEmbed = function( doc )
+	{
+		processElementsByName( 'object', doc );
+		processElementsByName( 'embed', doc );
+	}
+
 	return FCKTools.Merge( FCKDocumentProcessor.AppendNew(),
 		       {
@@ -149,16 +162,8 @@
 					// Firefox 3 would sometimes throw an unknown exception while accessing EMBEDs and OBJECTs
 					// without the setTimeout().
-					FCKTools.RunFunction( function()
-						{
-							// Process OBJECTs first, since EMBEDs can sometimes go inside OBJECTS (e.g. Flash).
-							var aObjects = doc.getElementsByTagName( 'object' );
-							for ( var i = aObjects.length - 1 ; i >= 0 ; i-- )
-								processElement( aObjects[i] ) ;
-
-							// Now process any EMBEDs left.
-							var aEmbeds = doc.getElementsByTagName( 'embed' ) ;
-							for ( var i = aEmbeds.length - 1 ; i >= 0 ; i-- )
-								processElement( aEmbeds[i] ) ;
-						} ) ;
+					if ( FCKBrowserInfo.IsGecko )
+						FCKTools.RunFunction( processObjectAndEmbed, this, [ doc ] ) ;
+					else
+						processObjectAndEmbed( doc ) ;
 				},
 
