Index: src/wp-includes/class-wp-editor.php
===================================================================
--- src/wp-includes/class-wp-editor.php	(revision 27490)
+++ src/wp-includes/class-wp-editor.php	(working copy)
@@ -333,6 +333,7 @@
 					'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
 
 					'wpeditimage_disable_captions' => $no_captions,
+					'wpeditimage_no_inline_style_captions' => current_theme_supports( 'no-inline-style-captions' ),
 					'plugins' => implode( ',', $plugins ),
 				);
 
Index: src/wp-includes/media.php
===================================================================
--- src/wp-includes/media.php	(revision 27490)
+++ src/wp-includes/media.php	(working copy)
@@ -785,7 +785,7 @@
 	$caption_width = apply_filters( 'img_caption_shortcode_width', $caption_width, $atts, $content );
 
 	$style = '';
-	if ( $caption_width )
+	if ( $caption_width && ! current_theme_supports( 'no-inline-style-captions' ) )
 		$style = 'style="width: ' . (int) $caption_width . 'px" ';
 
 	$class = trim( 'wp-caption ' . $atts['align'] . ' ' . $atts['class'] );
Index: src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
===================================================================
--- src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js	(revision 27490)
+++ src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js	(working copy)
@@ -2,7 +2,7 @@
 tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 	function parseShortcode( content ) {
 		return content.replace( /(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) {
-			var id, cls, w, cap, img, width,
+			var id, cls, w, cap, img, width, style,
 				trim = tinymce.trim;
 
 			id = b.match( /id=['"]([^'"]*)['"] ?/ );
@@ -47,9 +47,14 @@
 				return c;
 			}
 
-			width = parseInt( w, 10 ) + 10;
+			if ( editor.getParam( 'wpeditimage_no_inline_style_captions' ) ) { 
+				style = ''; 
+			} else { 
+				width = parseInt( w, 10 ) + 10; 
+				style = ' style="width: '+ width +'px"'; 
+			}
 
-			return '<div class="mceTemp"><dl id="'+ id +'" class="wp-caption '+ cls +'" style="width: '+ width +'px">' +
+			return '<div class="mceTemp"><dl id="'+ id +'" class="wp-caption '+ cls +'"'+ style +'>' +
 				'<dt class="wp-caption-dt">'+ img +'</dt><dd class="wp-caption-dd">'+ cap +'</dd></dl></div>';
 		});
 	}
