Index: /CKEditor/trunk/_source/core/event.js
===================================================================
--- /CKEditor/trunk/_source/core/event.js	(revision 3089)
+++ /CKEditor/trunk/_source/core/event.js	(revision 3090)
@@ -122,4 +122,6 @@
 						priority = 10;
 
+					var me = this;
+
 					// Create the function to be fired for this listener.
 					var listenerFirer = function( editor, publisherData, stopFn, cancelFn )
@@ -133,5 +135,9 @@
 							listenerData : listenerData,
 							stop : stopFn,
-							cancel : cancelFn
+							cancel : cancelFn,
+							removeListener : function()
+							{
+								me.removeListener( eventName, listenerFunction );
+							}
 						};
 
Index: /CKEditor/trunk/_source/plugins/editingblock/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/editingblock/plugin.js	(revision 3089)
+++ /CKEditor/trunk/_source/plugins/editingblock/plugin.js	(revision 3090)
@@ -91,4 +91,16 @@
 						getMode( editor ).loadSnapshotData( event.data );
 				});
+
+			// For the first "mode" call, we'll also fire the "instanceReady"
+			// event.
+			editor.on( 'mode', function( event )
+				{
+					// Do that once only.
+					event.removeListener();
+
+					// Fire instanceReady for both the editor and CKEDITOR.
+					editor.fireOnce( 'instanceReady' );
+					CKEDITOR.fire( 'instanceReady', null, editor );
+				});
 		}
 	});
