diff --git a/get_addons b/get_addons
index ef7c66bd754c5e6432146df3186057370c66dfd2..7fda8d9d86cfcbae118e05fad301881fc5282d17 100644
--- a/get_addons
+++ b/get_addons
@@ -5,7 +5,7 @@ set -e
 ODOO_ROOT_DIR=${ODOO_ROOT_DIR:-'/opt/odoo'}
 SAVE_COMMITS_DIR=${SAVE_COMMITS_DIR:-'/opt/odoo_commits'}
 SAVE_COMMITS_FILENAME=${SAVE_COMMITS_FILENAME:-'custom_addons'}
-TMP_REPO_PATH='/tmp/repo'
+TMP_REPO_PATH=${TEMP_REPO_PATH:-'/tmp/repo'}
 
 save_commit() {
   repo="$1"
@@ -25,20 +25,26 @@ modules="$@"
 
 set +e
 git clone --single-branch --branch "${ref}" --depth 1 "${repo}" "${TMP_REPO_PATH}"
-if [ "$?" != 0 ]; then
-git clone "${repo}" "${TMP_REPO_PATH}"
+if [ "$?" -ne 0 ]; then
+  git clone "${repo}" "${TMP_REPO_PATH}"
 fi
 set -e
 
 git -C "${TMP_REPO_PATH}" checkout "${ref}"
-commit="$(git -C /tmp/repo rev-parse HEAD)"
+commit="$(git -C ${TMP_REPO_PATH} rev-parse HEAD)"
 if [ -n "$modules" ]; then
   for module in $modules; do
+    if [ -d "${ODOO_ROOT_DIR}/${dst}/${module}" ]; then
+      rm -r "${ODOO_ROOT_DIR}/${dst}/${module}"
+    fi
     mv "${TMP_REPO_PATH}/${module}" "${ODOO_ROOT_DIR}/${dst}/"
     save_commit "$repo" "$commit" "$module" "$dst"
   done
 else
   module="$(basename $dst)"
+  if [ -d "${ODOO_ROOT_DIR}/${dst}" ]; then
+    rm -r "${ODOO_ROOT_DIR}/${dst}"
+  fi
   mkdir -p "/${ODOO_ROOT_DIR}/${dst}"
   mv ${TMP_REPO_PATH}/* "${ODOO_ROOT_DIR}/${dst}/"
   save_commit "$repo" "$commit" "$module" "$dst"