diff --git a/tools/build-system/get-kde.sh b/tools/build-system/get-kde.sh
new file mode 100755
index 0000000000000000000000000000000000000000..fb502dbad164706c90a58ac966a76eb5ccd995e9
--- /dev/null
+++ b/tools/build-system/get-kde.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+# Get the KDE client
+# To get all files, you have to create the tarball from scratch,
+# then extract files from it. The directory is renamed "kde".
+# $WORKSPACE is declared in setenv.sh
+set -o errexit
+source $(basename $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
+ruby create_tarball.rb --noaccount --application sflphone-kde
+rm -rf kde
+rm -rf sflphone-kde-*.tar.*
+rm create_tarball.rb config.ini
+mv sflphone-kde-* kde
diff --git a/tools/build-system/launch-build-machine-jenkins.sh b/tools/build-system/launch-build-machine-jenkins.sh
index 054b4d6f2b0db655cf32c82fa4af18d331b9e038..3187b211cd6467f4848b96e8076c64c3202399f7 100755
--- a/tools/build-system/launch-build-machine-jenkins.sh
+++ b/tools/build-system/launch-build-machine-jenkins.sh
@@ -16,16 +16,7 @@ done
 
 source $(dirname $0)/setenv.sh
 
-# Update KDE client
-# $WORKSPACE is declared in 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
-ruby create_tarball.rb -n -a sflphone-kde
-rm -rf kde
-rm -rf sflphone-kde-*.tar.*
-rm create_tarball.rb config.ini
-mv sflphone-kde-* kde
+./$(dirname $0)/get-kde.sh
 
 IS_RELEASE=
 VERSION_INDEX="1"
diff --git a/tools/build-system/setenv.sh b/tools/build-system/setenv.sh
index bc5e43966bdb50445e0876ffc594c6c5d3a4a3ed..e65c18496d8e47199efdcb22e76cbf55fcdfc220 100755
--- a/tools/build-system/setenv.sh
+++ b/tools/build-system/setenv.sh
@@ -4,6 +4,9 @@
 # home directory
 export ROOT_DIR=${HOME}
 
+# In case the script is executed manually, replace the variables set by Jenkins
+export WORKSPACE=${WORKSPACE:=.}
+
 # gpg passphrase file
 export GPG_FILE="${WORKSPACE}/.gpg-sflphone"
 
@@ -11,9 +14,6 @@ export EDITOR="echo"
 
 export REFERENCE_REPOSITORY="${WORKSPACE}"
 
-# In case the script is executed manually, replace the variables set by Jenkins
-WORKSPACE=${WORKSPACE:=.}
-
 export WORKING_DIR="${WORKSPACE}/tools/build-system"
 export LAUNCHPAD_DIR="${WORKING_DIR}/launchpad"
 export LAUNCHPAD_DISTRIBUTIONS=("trusty utopic")