diff --git a/tools/test.py b/tools/test.py
index 55dbac0..27c07de 100755
--- a/tools/test.py
+++ b/tools/test.py
@@ -225,8 +225,7 @@
       relative_file = absolute_file[len(upload_dir)+1:]
       if (should_upload(relative_file, absolute_file)):
         utils.upload_file_to_cloud_storage(absolute_file,
-                                           destination_dir + relative_file,
-                                           public_read=False)
+                                           destination_dir + relative_file)
   url = 'https://storage.googleapis.com/%s/%s/test/index.html' % (BUCKET, file_name)
   print('Test results available at: %s' % url)
 
diff --git a/tools/utils.py b/tools/utils.py
index 6bab90b..27a8feb 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -105,7 +105,7 @@
 
 def archive_file(name, gs_dir, src_file):
   gs_file = '%s/%s' % (gs_dir, name)
-  upload_file_to_cloud_storage(src_file, gs_file, public_read=False)
+  upload_file_to_cloud_storage(src_file, gs_file)
 
 def archive_value(name, gs_dir, value):
   with TempDir() as temp:
@@ -338,7 +338,7 @@
 def get_gsutil():
   return 'gsutil.py' if os.name != 'nt' else 'gsutil.py.bat'
 
-def upload_dir_to_cloud_storage(directory, destination, is_html=False, public_read=True):
+def upload_dir_to_cloud_storage(directory, destination, is_html=False):
   # Upload and make the content encoding right for viewing directly
   cmd = [get_gsutil(), '-m', 'cp']
   if is_html:
@@ -347,7 +347,7 @@
   PrintCmd(cmd)
   subprocess.check_call(cmd)
 
-def upload_file_to_cloud_storage(source, destination, public_read=True):
+def upload_file_to_cloud_storage(source, destination):
   cmd = [get_gsutil(), 'cp']
   cmd += [source, destination]
   PrintCmd(cmd)
