diff --git a/tools/bootstrap_upip.sh b/tools/bootstrap_upip.sh
index 35446b9f2d0b31efb18a9895fa4cf9568a4a1c4e..667d0845a4687ede7e5d6b2d2d8224792e6ce7a4 100755
--- a/tools/bootstrap_upip.sh
+++ b/tools/bootstrap_upip.sh
@@ -1,6 +1,14 @@
 # This script performs bootstrap installation of upip package manager from PyPI
 # All the other packages can be installed using it.
 
+saved="$PWD"
+
+if [ "$1" = "" ]; then
+    dest=~/.micropython/lib/
+else
+    dest="$1"
+fi
+
 if [ -z "$TMPDIR" ]; then
     cd /tmp
 else
@@ -12,8 +20,11 @@ rm -rf micropython-upip-*
 wget -nd -r -l1 https://pypi.python.org/pypi/micropython-upip/ --accept-regex ".*pypi.python.org/packages/source/.*.gz" --reject=html
 
 tar xfz micropython-upip-*.tar.gz
-mkdir -p ~/.micropython/lib/
-cp micropython-upip-*/upip*.py ~/.micropython/lib/
+tmpd="$PWD"
+
+cd "$saved"
+mkdir -p "$dest"
+cp "$tmpd"/micropython-upip-*/upip*.py "$dest"
 
 echo "upip is installed. To use:"
 echo "micropython -m upip --help"