Index: src/wp-includes/ms-blogs.php
===================================================================
--- src/wp-includes/ms-blogs.php	(revision 33323)
+++ src/wp-includes/ms-blogs.php	(working copy)
@@ -39,7 +39,7 @@
  */
 function get_blogaddress_by_id( $blog_id ) {
 	$bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details!
-	return ( $bloginfo ) ? esc_url( 'http://' . $bloginfo->domain . $bloginfo->path ) : '';
+	return ( $bloginfo ) ? esc_url( set_url_scheme( 'http://' . $bloginfo->domain . $bloginfo->path ) ) : '';
 }
 
 /**
Index: tests/phpunit/tests/multisite/site.php
===================================================================
--- tests/phpunit/tests/multisite/site.php	(revision 33323)
+++ tests/phpunit/tests/multisite/site.php	(working copy)
@@ -1180,6 +1180,17 @@
 	}
 
 	/**
+	 * Tests returning an address for a given valid id on a https setup
+	 *
+	 * @backupGlobals enabled
+	 */
+	function test_get_blogaddress_by_id_with_valid_id_https() {
+		$_SERVER['HTTPS'] = 'on';
+		$blogaddress = get_blogaddress_by_id( 1 );
+		$this->assertEquals( 'https://' . WP_TESTS_DOMAIN . '/', $blogaddress );
+	}
+
+	/**
 	 * Tests returning the appropriate response for a invalid id given.
 	 */
 	function test_get_blogaddress_by_id_with_invalid_id() {
