Index: wp-includes/general-template.php
===================================================================
--- wp-includes/general-template.php	(revision 11326)
+++ wp-includes/general-template.php	(working copy)
@@ -187,7 +187,7 @@
 	$login_url = site_url('wp-login.php', 'login');
 
 	if ( !empty($redirect) ) {
-		$login_url = add_query_arg('redirect_to', $redirect, $login_url);
+		$login_url = add_query_arg('redirect_to', urlencode($redirect), $login_url);
 	}
 
 	return apply_filters('login_url', $login_url, $redirect);

