diff --git a/googleapiclient/http.py b/googleapiclient/http.py
index 4949d0c..5caca19 100644
--- a/googleapiclient/http.py
+++ b/googleapiclient/http.py
@@ -1720,8 +1720,8 @@
       headers['user-agent'] = user_agent + ' ' + headers['user-agent']
     else:
       headers['user-agent'] = user_agent
-    resp, content = request_orig(uri, method, body, headers,
-                        redirections, connection_type)
+    resp, content = request_orig(uri, method=method, body=body, headers=headers,
+                        redirections=redirections, connection_type=connection_type)
     return resp, content
 
   http.request = new_request
@@ -1761,8 +1761,8 @@
             'OAuth 1.0 request made with Credentials after tunnel_patch.')
       headers['x-http-method-override'] = "PATCH"
       method = 'POST'
-    resp, content = request_orig(uri, method, body, headers,
-                        redirections, connection_type)
+    resp, content = request_orig(uri, method=method, body=body, headers=headers,
+                        redirections=redirections, connection_type=connection_type)
     return resp, content
 
   http.request = new_request
