Index: wp-includes/formatting.php
===================================================================
--- wp-includes/formatting.php	(revision 21851)
+++ wp-includes/formatting.php	(working copy)
@@ -2856,10 +2856,20 @@
 			break;
 
 		case 'permalink_structure':
+			if ( '' !== $value ) {
+				$value = esc_url_raw( $value );
+				$value = str_replace( 'http://', '', $value );
+			}
+			break;
+
 		case 'category_base':
 		case 'tag_base':
-			$value = esc_url_raw( $value );
-			$value = str_replace( 'http://', '', $value );
+			if ( '' !== $value ) {
+				$blog_prefix = is_multisite() && ! is_subdomain_install() && is_main_site() ? '/blog' : '';
+				$value = $blog_prefix . preg_replace('#/+#', '/', '/' . str_replace( '#', '', $value ) );
+				$value = esc_url_raw( $value );
+				$value = str_replace( 'http://', '', $value );
+			}
 			break;
 	}
 
