diff --git a/Utilities/Maintenance/SuperbuildDownloadList.sh b/Utilities/Maintenance/SuperbuildDownloadList.sh
index 0b7de705ff6b7a056bf7a6ad13a228820ed24394..10ae48a2c62fb8776261b7a3b1125bcc790b6a0f 100755
--- a/Utilities/Maintenance/SuperbuildDownloadList.sh
+++ b/Utilities/Maintenance/SuperbuildDownloadList.sh
@@ -1,4 +1,4 @@
-#/bin/bash
+#!/bin/bash
 
 export LC_ALL=C
 if [ $# -eq 2 ]; then
@@ -9,9 +9,21 @@ echo 'Usage: '$0' <download_directory> <archive_output_directory>'
 exit 1
 fi
 
+WGET="wget -nv -q --show-progress --progress=bar"
+
 SB_CMAKE_DIR_REL=$(dirname $0)/../../SuperBuild/CMake
 SB_CMAKE_DIR=$(readlink -f ${SB_CMAKE_DIR_REL})
 
+cd $(dirname $0)/../../
+
+GIT_BRANCH=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')
+
+#if a branch contains release-X.Y then xdk is taken from packages/xdk/OTB-X.Y
+if [[ "$GIT_BRANCH" =~ release-* ]]; then
+    VERSION=$(echo ${GIT_BRANCH}| sed 's/.*release-//'| cut -d'-' -f 1)
+else
+    VERSION="develop"
+fi
 DOWNLOAD_LIST=$(grep -h -E "^[^#]*\"https?://.*(\.tar\.gz|\.tar\.bz2|\.tgz|\.tar\.xz|\.zip|export=download).*\"" ${SB_CMAKE_DIR}/*.cmake | grep -o -E "https?://[^\"]*" | sed "s/\/\(download\)\?$//" | sort | uniq)
 
 DOWNLOAD_NAMES=
@@ -19,51 +31,46 @@ DOWNLOAD_NAMES=
 mkdir -p ${DOWNLOAD_DIR}
 cd ${DOWNLOAD_DIR}
 
-echo "Start downloads..."
+echo "Downloading files to ${DOWNLOAD_DIR}/"
 
 for url in ${DOWNLOAD_LIST}; do
   # clean log file
-  echo "" >download.log
 
   file_name=$(echo "${url}" | grep -o -E "[^\/]+$")
   docs_google=$(echo "${file_name}" | grep -F "export=download")
   if [ "${docs_google}" = "" ]; then
-    echo "Download ${file_name}..."
-    wget -N ${url} -o download.log
+      if [ -f "$file_name" ]; then
+          echo "$file_name exists, skipping"
+      fi;
+      $WGET -N ${url}
+      ret="$?"
+   if [ $ret -gt 0 -a $ret -ne 8  ]; then
+       echo "Download failed for URL: '${url}'. wget finished with exit status '$ret'."
+       exit 1;
+   fi
   else
     # look into the original file for a valid download name
     file_name=$(grep -h -A 3 -B 3 -F "${url}" ${SB_CMAKE_DIR}/*.cmake | grep -E "^[^#]*DOWNLOAD_NAME" | grep -o -E "[^ ]*\.(tar\.gz|tar\.bz2|tar\.xz|zip)" | uniq)
     if [ -z "$file_name" ]; then
-      echo "Can't find correct filename for url ${url} : skip download"
+        echo "Can't find correct filename for url ${url} : skip download"
+        exit 1;
     else
-      echo "Download ${file_name}..."
-      wget -O ${file_name} ${url} -o download.log
+        # echo "Download ${file_name}..."
+        $WGET ${url} -O ${file_name}
     fi
   fi
 
-  download_errors=$(grep "ERROR" download.log)
-  if [ "$download_errors" != "" ]; then
-      echo "[OTB] Error downloading ${file_name}"
-      echo "[OTB] Check your internet connectivity first!."
-      echo "[OTB] Check your firewall or proxy settings and then try again."
-      echo "[OTB] If you find that ${url} is unavailable,"
-      echo "         please file a bug immediately on bugs.orfeo-toolbox.org."
-      echo "   "
-      cat download.log
-      exit 1
-  else
-    if [ "$file_name" != "" ]; then
+  if [ "$file_name" != "" ]; then
       DOWNLOAD_NAMES="${DOWNLOAD_NAMES} ${file_name}"
-    fi
   fi
-done
 
-rm download.log
+done
 
-echo "Create archive..."
+ARCHIVE_NAME="SuperBuild-archives-$VERSION"
+echo "Creating archive ${OUTPUT_DIR}/$ARCHIVE_NAME.tar.bz2"
 
 cd ${OUTPUT_DIR}
-tar -cjf SuperBuild-archives.tar.bz2 -C ${DOWNLOAD_DIR} ${DOWNLOAD_NAMES}
+tar -cjf $ARCHIVE_NAME.tar.bz2 -C ${DOWNLOAD_DIR} ${DOWNLOAD_NAMES}
 
-echo "Compute md5sum..."
-md5sum SuperBuild-archives.tar.bz2 >SuperBuild-archives.md5
+echo "Saving md5sum to ${OUTPUT_DIR}/$ARCHIVE_NAME.md5"
+md5sum $ARCHIVE_NAME.tar.bz2 > $ARCHIVE_NAME.md5