diff --git a/bin/compile b/bin/compile
index 6831872e8fde4694d8e9a937302ca07e4e52f238..baf4292da2c2714a1aebcfa1f4020a71d4828d38 100755
--- a/bin/compile
+++ b/bin/compile
@@ -154,7 +154,7 @@ bpwatch stop restore_cache
 mkdir -p $(dirname $PROFILE_PATH)
 
 # Make the directory for -e pip installations.
-mkdir -p /$BUILD_DIR/.heroku/src
+mkdir -p /$app/.heroku/src
 
 if [[ $BUILD_DIR != '/app' ]]; then
     # python expects to reside in /app, so set up symlinks
@@ -162,7 +162,6 @@ if [[ $BUILD_DIR != '/app' ]]; then
     ln -s $BUILD_DIR/.heroku/python /app/.heroku/python
     ln -s $BUILD_DIR/.heroku/vendor /app/.heroku/vendor
     ln -s $BUILD_DIR/.heroku/venv /app/.heroku/venv
-    ln -s $BUILD_DIR/.heroku/src /app/.heroku/src
 fi
 
 # Install Python.
@@ -209,6 +208,8 @@ set-default-env PYTHONPATH /app/
 # Install sane-default script for $WEB_CONCURRENCY and $FORWARDED_ALLOW_IPS.
 cp $ROOT_DIR/vendor/python.gunicorn.sh $GUNICORN_PROFILE_PATH
 
+# Deep copy the directory for -e pip installations
+deep-cp /app/.heroku/src $BUILD_DIR/.heroku/src
 
 # Experimental post_compile hook.
 bpwatch start post_compile