diff --git a/bob/devtools/bootstrap.py b/bob/devtools/bootstrap.py
index 744c6a994d49b0d53db37193eb999ba403d18815..53371d3b0ebdfc933c3f9fa0ade14c4118c1fd9d 100644
--- a/bob/devtools/bootstrap.py
+++ b/bob/devtools/bootstrap.py
@@ -166,12 +166,18 @@ def merge_conda_cache(cache, prefix, name):
   logger.info('Merging urls.txt files from cache...')
   urls = []
   cached_pkgs_urls_txt = os.path.join(cached_pkgs_dir, 'urls.txt')
-  logger.info('touch %s', cached_pkgs_urls_txt)
-  touch(cached_pkgs_urls_txt)  #sometimes it does not exist yet
-  with open(pkgs_urls_txt, 'rb') as f1, \
-      open(cached_pkgs_urls_txt, 'rb') as f2:
-    data = set(f1.readlines() + f2.readlines())
-    data = sorted(list(data))
+
+  if not os.path.exists(cached_pkgs_urls_txt):
+    with open(pkgs_urls_txt, 'rb') as f1:
+      data = set(f1.readlines())
+      data = sorted(list(data))
+  else:
+    # use both cached and actual conda package caches
+    with open(pkgs_urls_txt, 'rb') as f1, \
+        open(cached_pkgs_urls_txt, 'rb') as f2:
+      data = set(f1.readlines() + f2.readlines())
+      data = sorted(list(data))
+
   with open(pkgs_urls_txt, 'wb') as f:
     f.writelines(data)