Index: wp-includes/formatting.php
--- wp-includes/formatting.php
+++ wp-includes/formatting.php
@@ -1601,7 +1601,19 @@
 	$r = '';
 	$textarr = preg_split( '/(<[^<>]+>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); // split out HTML tags
 	foreach ( $textarr as $piece ) {
-		if ( empty( $piece ) || ( $piece[0] == '<' && ! preg_match('|^<\s*[\w]{1,20}+://|', $piece) ) ) {
+
+		switch ( $piece ) {
+			case '<code>' :
+			case '<pre>'  :
+				$in_code = true;
+				break;
+			case '</code>' :
+			case '</pre>'  :
+				$in_code = false;
+				break;
+		}
+
+		if ( $in_code || empty( $piece ) || ( $piece[0] == '<' && ! preg_match('|^<\s*[\w]{1,20}+://|', $piece) ) ) {
 			$r .= $piece;
 			continue;
 		}