diff --git a/AUTHORS b/AUTHORS
index ad8f876a6f..57f9df3efe 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -104,6 +104,7 @@ answer newbie questions, and generally made Django that much better:
Michael Josephson
jpellerin@gmail.com
junzhang.jn@gmail.com
+ Ben Dean Kawamura
Garth Kidd
kilian
Sune Kirkeby
diff --git a/django/test/client.py b/django/test/client.py
index 95900154c5..682dd01261 100644
--- a/django/test/client.py
+++ b/django/test/client.py
@@ -1,5 +1,6 @@
import sys
from cStringIO import StringIO
+from urlparse import urlparse
from django.conf import settings
from django.core.handlers.base import BaseHandler
from django.core.handlers.wsgi import WSGIRequest
@@ -222,7 +223,7 @@ class Client:
if response.status_code != 302:
return False
- login_path, data = response['Location'].split('?')
+ _, _, login_path, _, data, _= urlparse(response['Location'])
next = data.split('=')[1]
# Second, GET the login page; required to set up cookies
@@ -239,7 +240,8 @@ class Client:
response = self.post(login_path, data=form_data, **extra)
# Login page should 302 redirect to the originally requested page
- if response.status_code != 302 or response['Location'] != path:
+ if (response.status_code != 302 or
+ urlparse(response['Location'])[2] != path):
return False
# Since we are logged in, request the actual page again