diff --git a/tools/build-system/get-kde.sh b/tools/build-system/get-kde.sh
index 6e990b3896a220f28665beb9a8bd377f39ae2e82..25630c27215de58ef11d64d5c225bf1b6de5af77 100755
--- a/tools/build-system/get-kde.sh
+++ b/tools/build-system/get-kde.sh
@@ -6,8 +6,31 @@
 set -o errexit
 source $(dirname $0)/setenv.sh
 cd "$WORKSPACE"
-curl -O https://projects.kde.org/projects/playground/network/sflphone-kde/repository/revisions/master/raw/data/config.ini
-curl -O https://projects.kde.org/projects/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/createtarball/create_tarball.rb
+baseurl='https://projects.kde.org/projects'
+config_uri='/playground/network/sflphone-kde/repository/revisions/master/raw/data/config.ini'
+createtarball_uri='/kde/kdesdk/kde-dev-scripts/repository/revisions/master/raw/createtarball/create_tarball.rb'
+
+set -x
+
+# timeout in seconds
+let -i timeout=300
+let -i timestamp=$(date +%s)
+while ! curl --fail --remote-name ${baseurl}${config_uri}
+do
+    if [ $(date +%s) -gt $(( $timestamp + $timeout)) ]; then
+        break
+    fi
+    sleep 15
+done
+let -i timestamp=$(date +%s)
+while ! curl --fail --remote-name ${baseurl}${createtarball_uri}
+do
+    if [ $(date +%s) -gt $(( $timestamp + $timeout)) ]; then
+        break
+    fi
+    sleep 15
+done
+
 ruby create_tarball.rb --noaccount --application sflphone-kde
 rm -rf kde
 rm -rf sflphone-kde-*.tar.*