diff --git a/kokoro/build.py b/kokoro/build.py
index a9a5f72..1efcacb 100755
--- a/kokoro/build.py
+++ b/kokoro/build.py
@@ -159,9 +159,9 @@
             ziph.write(install_file, rel_file)
 
 
-def package_target(install_dir, package_name, dest_dir):
+def package_target(install_dir, dest_dir):
     os.makedirs(dest_dir, exist_ok=True)
-    package_path = os.path.join(dest_dir, package_name + '.zip')
+    package_path = os.path.join(dest_dir, 'cmake.zip')
 
     print('## Packaging ##')
     print('## Package     : {}'.format(package_path))
@@ -172,11 +172,11 @@
         zip_dir(install_dir, zip)
 
 
-def package_target_for_studio(install_dir, package_name, cmake_version,
-                              ninja_path, android_cmake, dest_dir):
+def package_target_for_studio(install_dir, cmake_version, ninja_path,
+                              android_cmake, dest_dir):
     """Create a package with ninja.exe and source.properties for Android SDK"""
     os.makedirs(dest_dir, exist_ok=True)
-    package_path = os.path.join(dest_dir, package_name + '-for-studio.zip')
+    package_path = os.path.join(dest_dir, 'cmake-for-studio.zip')
     source_properties = get_source_properties(cmake_version)
 
     print('## Packaging with Ninja ##')
@@ -238,11 +238,9 @@
     host = get_default_host()
     install_dir = build_cmake_target(host, args)
     cmake_target_version = get_cmake_version(install_dir)
-    package_name = 'cmake-{}-{}-{}'.format(host.value, cmake_target_version,
-                                           args.build_id)
-    package_target(install_dir, package_name, args.dest_dir)
-    package_target_for_studio(install_dir, package_name, cmake_target_version,
-                              args.ninja, args.android_cmake, args.dest_dir)
+    package_target(install_dir, args.dest_dir)
+    package_target_for_studio(install_dir, cmake_target_version, args.ninja,
+                              args.android_cmake, args.dest_dir)
 
 
 if __name__ == '__main__':
