Index: /CKEditor/trunk/CHANGES.html
===================================================================
--- /CKEditor/trunk/CHANGES.html	(revision 5970)
+++ /CKEditor/trunk/CHANGES.html	(revision 5971)
@@ -78,4 +78,5 @@
 		<li><a href="http://dev.ckeditor.com/ticket/4023">#4023</a> : [Opera] Maximize plugin.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6416">#6416</a> : [IE9] Unable to make text selection with mouse in source area.</li>
+		<li><a href="http://dev.ckeditor.com/ticket/6417">#6417</a> : [IE9] Context menu opens at the upper-left corner always.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6099">#6099</a> : BIDI: when we apply explicit language direction to Numbered/Bulleted List the corresponding BIDI Tool bar icon is not highlighted in the Toolbar.</li>
 		<li><a href="http://dev.ckeditor.com/ticket/6100">#6100</a> : BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.</li>
Index: /CKEditor/trunk/_source/core/dom/domobject.js
===================================================================
--- /CKEditor/trunk/_source/core/dom/domobject.js	(revision 5970)
+++ /CKEditor/trunk/_source/core/dom/domobject.js	(revision 5971)
@@ -85,8 +85,8 @@
 				var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName );
 
-				if ( this.$.addEventListener )
+				if ( this.$.attachEvent )
+					this.$.attachEvent( 'on' + eventName, listener );
+				else if ( this.$.addEventListener )
 					this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );
-				else if ( this.$.attachEvent )
-					this.$.attachEvent( 'on' + eventName, listener );
 			}
 
@@ -108,8 +108,8 @@
 				if ( listener )
 				{
-					if ( this.$.removeEventListener )
+					if ( this.$.detachEvent )
+						this.$.detachEvent( 'on' + eventName, listener );
+					else if ( this.$.removeEventListener )
 						this.$.removeEventListener( eventName, listener, false );
-					else if ( this.$.detachEvent )
-						this.$.detachEvent( 'on' + eventName, listener );
 
 					delete nativeListeners[ eventName ];
@@ -129,8 +129,8 @@
 			{
 				var listener = nativeListeners[ eventName ];
-				if ( this.$.removeEventListener )
+				if ( this.$.detachEvent )
+					this.$.detachEvent( 'on' + eventName, listener );
+				else if ( this.$.removeEventListener )
 					this.$.removeEventListener( eventName, listener, false );
-				else if ( this.$.detachEvent )
-					this.$.detachEvent( 'on' + eventName, listener );
 
 				delete nativeListeners[ eventName ];
