Index: wp-login.php
===================================================================
--- wp-login.php	(revision 19670)
+++ wp-login.php	(working copy)
@@ -12,7 +12,7 @@
 require( dirname(__FILE__) . '/wp-load.php' );
 
 // Redirect to https login if forced to use SSL
-if ( force_ssl_admin() && !is_ssl() ) {
+if ( ( force_ssl_admin() || force_ssl_login() ) && !is_ssl() ) {
 	if ( 0 === strpos($_SERVER['REQUEST_URI'], 'http') ) {
 		wp_redirect(preg_replace('|^http://|', 'https://', $_SERVER['REQUEST_URI']));
 		exit();
Index: wp-includes/link-template.php
===================================================================
--- wp-includes/link-template.php	(revision 19670)
+++ wp-includes/link-template.php	(working copy)
@@ -1918,7 +1918,7 @@
 	if ( !in_array( $scheme, array( 'http', 'https' ) ) ) {
 		if ( ( 'login_post' == $scheme || 'rpc' == $scheme ) && ( force_ssl_login() || force_ssl_admin() ) )
 			$scheme = 'https';
-		elseif ( ( 'login' == $scheme ) && force_ssl_admin() )
+		elseif ( ( 'login' == $scheme ) && ( force_ssl_admin() || force_ssl_login() ) )
 			$scheme = 'https';
 		elseif ( ( 'admin' == $scheme ) && force_ssl_admin() )
 			$scheme = 'https';
