Index: wp-includes/general-template.php
===================================================================
--- wp-includes/general-template.php	(revision 18378)
+++ wp-includes/general-template.php	(working copy)
@@ -195,6 +195,27 @@
 }
 
 /**
+ * Returns the user registration URL
+ *
+ * Returns the URL that allows the user to log in to the site
+ *
+ * @since 3.3.0
+ * @uses site_url() To generate the log in URL
+ * @uses apply_filters() calls 'register_url' hook on final url
+ *
+ * @param string $redirect Path to redirect to on login (optional).
+ * @return string
+ */
+function wp_register_url( $redirect = '' ) {
+	$register_url = site_url( 'wp-login.php?action=register', 'login' );
+
+	if ( !empty( $redirect ) )
+		$register_url = add_query_arg( 'redirect_to', urlencode( $redirect ), $register_url );
+
+	return apply_filters( 'register_url', $register_url, $redirect );
+}
+
+/**
  * Returns the Log Out URL.
  *
  * Returns the URL that allows the user to log out of the site
@@ -333,7 +354,7 @@
 
 	if ( ! is_user_logged_in() ) {
 		if ( get_option('users_can_register') )
-			$link = $before . '<a href="' . site_url('wp-login.php?action=register', 'login') . '">' . __('Register') . '</a>' . $after;
+			$link = $before . '<a href="' . wp_register_url() . '">' . __('Register') . '</a>' . $after;
 		else
 			$link = '';
 	} else {
