Index: src/wp-includes/ms-settings.php
===================================================================
--- src/wp-includes/ms-settings.php	(revision 26928)
+++ src/wp-includes/ms-settings.php	(working copy)
@@ -80,13 +80,15 @@
 		unset($reserved_blognames);
 	}
 
+        $proto = is_ssl() ? 'https://' : 'http://';
+
 	if ( ! defined( 'WP_INSTALLING' ) && is_subdomain_install() && ! is_object( $current_blog ) ) {
 		if ( defined( 'NOBLOGREDIRECT' ) ) {
 			$destination = NOBLOGREDIRECT;
 			if ( '%siteurl%' == $destination )
-				$destination = "http://" . $current_site->domain . $current_site->path;
+				$destination = $proto . $current_site->domain . $current_site->path;
 		} else {
-			$destination = 'http://' . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
+			$destination = $proto . $current_site->domain . $current_site->path . 'wp-signup.php?new=' . str_replace( '.' . $current_site->domain, '', $domain );
 		}
 		header( 'Location: ' . $destination );
 		die();
@@ -95,7 +97,7 @@
 	if ( ! defined( 'WP_INSTALLING' ) ) {
 		if ( $current_site && ! $current_blog ) {
 			if ( $current_site->domain != $_SERVER[ 'HTTP_HOST' ] ) {
-				header( 'Location: http://' . $current_site->domain . $current_site->path );
+				header( 'Location: ' .$proto . $current_site->domain . $current_site->path );
 				exit;
 			}
 			$current_blog = get_blog_details( array( 'domain' => $current_site->domain, 'path' => $current_site->path ), false );
