Index: wp-includes/shortcodes.php
===================================================================
--- wp-includes/shortcodes.php	(revision 7569)
+++ wp-includes/shortcodes.php	(working copy)
@@ -129,6 +129,6 @@
 	return $out;
 }
 
-add_filter( 'the_content', 'do_shortcode', 9 );
+add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop() 
 
 ?>
Index: wp-includes/formatting.php
===================================================================
--- wp-includes/formatting.php	(revision 7569)
+++ wp-includes/formatting.php	(working copy)
@@ -5,7 +5,7 @@
 	$next = true;
 	$output = '';
 	$curl = '';
-	$textarr = preg_split('/(<.*>)/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
+	$textarr = preg_split('/(<.*>|\[.*\])/Us', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
 	$stop = count($textarr);
 
 	// if a plugin has provided an autocorrect array, use it
@@ -26,7 +26,7 @@
 	for ( $i = 0; $i < $stop; $i++ ) {
  		$curl = $textarr[$i];
 
-		if (isset($curl{0}) && '<' != $curl{0} && $next) { // If it's not a tag
+		if (isset($curl{0}) && '<' != $curl{0} && '[' != $curl{0} && $next) { // If it's not a tag
 			// static strings
 			$curl = str_replace($static_characters, $static_replacements, $curl);
 			// regular expressions
