diff --git a/tools/.gitignore b/tools/.gitignore
index 2814b7b..2b1e35f 100644
--- a/tools/.gitignore
+++ b/tools/.gitignore
@@ -1,3 +1,4 @@
-# tools/idl_parser is populated by gclient sync
+# tools/idl_parser and tools/abiversions are populated by gclient sync
+abiversions
 idl_parser
 
diff --git a/tools/download_abi_dills.py b/tools/download_abi_dills.py
index e45b2ce..1458934 100644
--- a/tools/download_abi_dills.py
+++ b/tools/download_abi_dills.py
@@ -1,5 +1,6 @@
 # Downloads dill files from CIPD for each supported ABI version.
 
+import os
 import subprocess
 import sys
 import utils
@@ -8,12 +9,17 @@
 def main():
   abi_version = int(utils.GetAbiVersion())
   oldest_abi_version = int(utils.GetOldestSupportedAbiVersion())
+  cmd = ['cipd', 'ensure', '-root', 'tools/abiversions', '-ensure-file', '-']
+  ensure_file = ''
   for i in xrange(oldest_abi_version, abi_version):
-    cmd = ['cipd', 'install', 'dart/abiversions/%d' % i, 'latest']
-    result = subprocess.call(cmd)
-    if result != 0:
-      return 1
-  return 0
+    ensure_file += '@Subdir %d\ndart/abiversions/%d latest\n\n' % (i, i)
+  p = subprocess.Popen(cmd,
+                       stdin = subprocess.PIPE,
+                       shell = utils.IsWindows(),
+                       cwd = utils.DART_DIR)
+  p.communicate(ensure_file)
+  p.stdin.close()
+  return p.wait()
 
 
 if __name__ == '__main__':
