Index: wp-includes/link-template.php
===================================================================
--- wp-includes/link-template.php	(revision 21928)
+++ wp-includes/link-template.php	(working copy)
@@ -1892,9 +1892,6 @@
 function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
 	$orig_scheme = $scheme;
 
-	if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) )
-		$scheme = is_ssl() && !is_admin() ? 'https' : 'http';
-
 	if ( empty( $blog_id ) || !is_multisite() ) {
 		$url = get_option( 'home' );
 	} else {
@@ -1903,6 +1900,13 @@
 		restore_current_blog();
 	}
 
+	if ( ! in_array( $scheme, array( 'http', 'https', 'relative' ) ) ) {
+		if ( is_ssl() && ! is_admin() )
+			$scheme = 'https';
+		else
+			$scheme = parse_url( $url, PHP_URL_SCHEME );
+	}
+
 	$url = set_url_scheme( $url, $scheme );
 
 	if ( ! empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
