Index: _source/plugins/floatpanel/plugin.js
===================================================================
--- _source/plugins/floatpanel/plugin.js	(revision 5020)
+++ _source/plugins/floatpanel/plugin.js	(working copy)
@@ -135,6 +135,9 @@
 						display	: ''
 					});
 
+				// To allow the context menu to decrease back their width
+				element.getFirst().removeStyle('width');
+
 				// Configure the IFrame blur event. Do that only once.
 				if ( !this._.blurSet )
 				{
@@ -205,6 +208,26 @@
 
 								target.setStyle( 'height', height + 'px' );
 
+								var widthNode = block.element.$.parentNode;
+
+								if ( CKEDITOR.env.ie)
+									widthNode = widthNode.document.body;
+
+								var width = widthNode.scrollWidth;
+								// Account for extra height needed due to IE quirks box model bug:
+								// http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug
+								// (#3426)
+								if ( CKEDITOR.env.ie && CKEDITOR.env.quirks && width > 0 )
+									width += ( target.$.offsetWidth || 0 ) - ( target.$.clientWidth || 0 );
+
+								if (CKEDITOR.env.ie)
+									width += 4;
+
+								target.setStyle( 'width', width + 'px' );
+
+								// IE doesn't compute the scrollWidth if a filter is applied previously
+								block.element.addClass( 'cke_frameLoaded')
+
 								// Fix IE < 8 visibility.
 								panel._.currentBlock.element.setStyle( 'display', 'none' ).removeStyle( 'display' );
 							}
Index: _source/skins/kama/menu.css
===================================================================
--- _source/skins/kama/menu.css	(revision 5020)
+++ _source/skins/kama/menu.css	(working copy)
@@ -94,12 +94,15 @@
 	height:19px;
 	margin-left: 24px;
 	background-color: #fff;
-	_overflow: hidden;
-	_width: 80px;
+}
+/* Set these after the document has been loaded and we know the dimensions*/
+.cke_frameLoaded .cke_menuitem .cke_label
+{
 	filter: alpha(opacity=70); /* IE */
 	opacity: 0.70; /* Safari, Opera and Mozilla */
+	_overflow: hidden;
+	/*_width: 80px;*/
 }
-
 .cke_rtl .cke_skin_kama .cke_menuitem .cke_label
 {
 	padding-right: 0;

