Index: wp-includes/template-functions-post.php
===================================================================
--- wp-includes/template-functions-post.php	(revision 3490)
+++ wp-includes/template-functions-post.php	(working copy)
@@ -79,7 +79,7 @@
 
 	$content = $pages[$page-1];
 	$content = explode('<!--more-->', $content, 2);
-	if ( (preg_match('/<!--noteaser-->/', $post->post_content) && ((!$multipage) || ($page==1))) )
+	if ( (false !== strpos($post->post_content, '<!--noteaser-->') && ((!$multipage) || ($page==1))) )
 		$stripteaser = 1;
 	$teaser = $content[0];
 	if ( ($more) && ($stripteaser) )
@@ -89,7 +89,7 @@
 		if ( $more )
 			$output .= '<a id="more-'.$id.'"></a>'.$content[1];
 		else
-			$output .= ' <a href="'. get_permalink() . "#more-$id\">$more_link_text</a>";
+			$output = balanceTags($output . ' <a href="'. get_permalink() . "#more-$id\">$more_link_text</a>");
 	}
 	if ( $preview ) // preview fix for javascript bug with foreign languages
 		$output =	preg_replace('/\%u([0-9A-F]{4,4})/e',	"'&#'.base_convert('\\1',16,10).';'", $output);
Index: wp-includes/functions-formatting.php
===================================================================
--- wp-includes/functions-formatting.php	(revision 3490)
+++ wp-includes/functions-formatting.php	(working copy)
@@ -400,9 +400,9 @@
                   Added Cleaning Hooks
              1.0  First Version
 */
-function balanceTags($text, $is_comment = 0) {
+function balanceTags($text, $is_comment = 0, $force = false) {
 	
-	if ( get_option('use_balanceTags') == 0)
+	if ( !$force && get_option('use_balanceTags') == 0 )
 		return $text;
 
 	$tagstack = array(); $stacksize = 0; $tagqueue = ''; $newtext = '';
