diff --git a/share/www/script/test/oauth.js b/share/www/script/test/oauth.js
index da3f071..c961e21 100644
--- a/share/www/script/test/oauth.js
+++ b/share/www/script/test/oauth.js
@@ -169,11 +169,6 @@
           T(xhr.status == expectedCode);
 
           // Replication
-          var dbA = new CouchDB("test_suite_db_a", {
-            "X-Couch-Full-Commit":"false",
-            "Authorization": adminBasicAuthHeaderValue()
-          });
-          T(dbA.save({_id:"_design/"+i+consumerKey}).ok);
           var result = CouchDB.replicate(dbPair.source, dbPair.target, {
             headers: {"Authorization": adminBasicAuthHeaderValue()}
           });
diff --git a/src/couchdb/couch_rep_httpc.erl b/src/couchdb/couch_rep_httpc.erl
index 3328765..b9f04ab 100644
--- a/src/couchdb/couch_rep_httpc.erl
+++ b/src/couchdb/couch_rep_httpc.erl
@@ -110,7 +110,7 @@
     Code =:= 301; Code =:= 302 ->
         MochiHeaders = mochiweb_headers:make(Headers),
         RedirectUrl = mochiweb_headers:get_value("Location", MochiHeaders),
-        do_request(redirected_request(Req, RedirectUrl));
+        do_request(Req#http_db{url = RedirectUrl});
     Code =:= 409 ->
         throw(conflict);
     Code >= 400, Code < 500 ->
@@ -157,17 +157,6 @@
         do_request(Req#http_db{retries = Retries-1, pause = 2*Pause})
     end.
 
-redirected_request(Req, RedirectUrl) ->
-    {Base, QStr, _} = mochiweb_util:urlsplit_path(RedirectUrl),
-    QS = mochiweb_util:parse_qs(QStr),
-    Hdrs = case proplists:get_value(<<"oauth">>, Req#http_db.auth) of
-    undefined ->
-        Req#http_db.headers;
-    _Else ->
-        lists:keydelete("Authorization", 1, Req#http_db.headers)
-    end,
-    Req#http_db{url=Base, resource="", qs=QS, headers=Hdrs}.
-
 spawn_worker_process(Req) ->
     Url = ibrowse_lib:parse_url(Req#http_db.url),
     {ok, Pid} = ibrowse_http_client:start(Url),
@@ -188,9 +177,7 @@
     end.
 
 oauth_header(Url, QS, Action, Props) ->
-    % erlang-oauth doesn't like iolists
-    QSL = [{couch_util:to_list(K), ?b2l(?l2b(couch_util:to_list(V)))} ||
-        {K,V} <- QS],
+    QSL = [{couch_util:to_list(K), couch_util:to_list(V)} || {K,V} <- QS],
     ConsumerKey = ?b2l(proplists:get_value(<<"consumer_key">>, Props)),
     Token = ?b2l(proplists:get_value(<<"token">>, Props)),
     TokenSecret = ?b2l(proplists:get_value(<<"token_secret">>, Props)),
