diff --git a/build_apprtc_closure.py b/build_apprtc_closure.py
index 60703cf..81a8e76 100755
--- a/build_apprtc_closure.py
+++ b/build_apprtc_closure.py
@@ -11,7 +11,6 @@
 
 import os
 import shutil
-import subprocess
 import sys
 
 import utils
@@ -34,14 +33,15 @@
     npm_bin = os.path.join(node_path, 'bin', 'npm')
     node_bin = os.path.join(node_path, 'bin', 'node')
 
-  subprocess.check_call([npm_bin, 'install'])
+  utils.RunSubprocessWithRetry([npm_bin, 'install'])
   local_grunt_bin = os.path.join('node_modules', 'grunt-cli', 'bin', 'grunt')
 
   if not os.path.exists(local_grunt_bin):
     return ('Missing grunt-cli in the webrtc-samples checkout; did '
             'npm install fail?')
 
-  subprocess.check_call([node_bin, local_grunt_bin, 'closurecompiler:debug'])
+  utils.RunSubprocessWithRetry([node_bin, local_grunt_bin,
+                               'closurecompiler:debug'])
 
 
 if __name__ == '__main__':
diff --git a/utils.py b/utils.py
index 827cd3e..b32af09 100755
--- a/utils.py
+++ b/utils.py
@@ -11,9 +11,25 @@
 import sys
 import subprocess
 import tarfile
+import time
 import zipfile
 
 
+def RunSubprocessWithRetry(cmd):
+  """Invokes the subprocess and backs off exponentially on fail."""
+  for i in range(5):
+    try:
+      subprocess.check_call(cmd)
+      return
+    except subprocess.CalledProcessError as exception:
+      backoff = pow(2, i)
+      print 'Got %s, retrying in %d seconds...' % (exception, backoff)
+      time.sleep(backoff)
+  
+  print 'Giving up.'
+  raise exception
+
+
 def DownloadFilesFromGoogleStorage(path):
   print 'Downloading files in %s...' % path
 
