diff --git a/bin/compile b/bin/compile
index a62aa1be6e011866b5111947c0fd8f069f1862db..58a4ffdbff18aa718d3e9582924322f6291b5e48 100755
--- a/bin/compile
+++ b/bin/compile
@@ -215,8 +215,18 @@ bpwatch stop post_compile
 # Store new artifacts in cache.
 bpwatch start dump_cache
 
-  rm -rf $CACHE_DIR/$CACHED_DIR
-  cp -R $CACHED_DIR $CACHE_DIR/
+  rm -rf $CACHE_DIR/.heroku/python
+  rm -rf $CACHE_DIR/.heroku/python-version
+  rm -rf $CACHE_DIR/.heroku/python-stack
+  rm -rf $CACHE_DIR/.heroku/vendor
+  rm -rf $CACHE_DIR/.heroku/venv
+
+  mkdir -p $CACHE_DIR/.heroku
+  cp -R .heroku/python $CACHE_DIR/.heroku
+  cp -R .heroku/python-version $CACHE_DIR/.heroku
+  cp -R .heroku/python-stack $CACHE_DIR/.heroku
+  cp -R .heroku/vendor $CACHE_DIR/.heroku &> /dev/null || true
+  cp -R .heroku/venv $CACHE_DIR/.heroku &> /dev/null || true
 
 bpwatch stop dump_cache