diff --git a/Build/AtlasBuildScripts/checkout_Gaudi.sh b/Build/AtlasBuildScripts/checkout_Gaudi.sh
index 15851ec1313fd6724f8cc39a2e9b61e2cd9146f7..80dce55c13398856364edb11456077793235c5ad 100755
--- a/Build/AtlasBuildScripts/checkout_Gaudi.sh
+++ b/Build/AtlasBuildScripts/checkout_Gaudi.sh
@@ -27,6 +27,22 @@ usage() {
 	echo "  in the source directory is left untouched."
 }
 
+_max_retry_=5
+
+_retry_ () {
+    local cmd="$*"
+    local n=0
+    while ! $cmd ; do
+        if test $n -eq $_max_retry_ ; then
+            echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2
+            exit 1
+        fi
+        echo "WARNING: $cmd FAILED, retry in 30 sec ... "
+        sleep 30s
+        n=`expr $n + 1`
+    done
+}
+
 # Parse the command line arguments:
 TAGBRANCH=""
 SOURCEDIR=""
@@ -86,12 +102,12 @@ echo "   from: $GAUDIURL"
 
 if [ ! -d "${SOURCEDIR}" ]; then
     # Clone the repository:
-    git clone ${GAUDIURL} ${SOURCEDIR}
+    _retry_ git clone ${GAUDIURL} ${SOURCEDIR}
 else
     echo "${SOURCEDIR} already exists -> assume previous checkout"
 fi
 
 # Get the appropriate version of it:
 cd ${SOURCEDIR}
-git fetch --prune origin
-git checkout -f ${TAGBRANCH}
+_retry_ git fetch --prune origin
+_retry_ git checkout -f ${TAGBRANCH}
diff --git a/Build/AtlasBuildScripts/checkout_atlasexternals.sh b/Build/AtlasBuildScripts/checkout_atlasexternals.sh
index e5a750d9539ccacb070307f660c86296757eee29..bdc803eba192c3689745d81b48157cd9200e3bda 100755
--- a/Build/AtlasBuildScripts/checkout_atlasexternals.sh
+++ b/Build/AtlasBuildScripts/checkout_atlasexternals.sh
@@ -27,6 +27,22 @@ usage() {
 	echo "  in the source directory is left untouched."
 }
 
+_max_retry_=5
+
+_retry_ () {
+    local cmd="$*"
+    local n=0
+    while ! $cmd ; do
+        if test $n -eq $_max_retry_ ; then
+            echo "ERROR: $cmd FAILED $_max_retry_ times. EXIT(1)" >&2
+            exit 1
+        fi
+        echo "WARNING: $cmd FAILED, retry in 30 sec ... "
+        sleep 30s
+        n=`expr $n + 1`
+    done
+}
+
 # Parse the command line arguments:
 TAGBRANCH=""
 SOURCEDIR=""
@@ -86,12 +102,12 @@ echo "   from: $EXTERNALSURL"
 
 if [ ! -d "${SOURCEDIR}" ]; then
     # Clone the repository:
-    git clone ${EXTERNALSURL} ${SOURCEDIR}
+    _retry_ git clone ${EXTERNALSURL} ${SOURCEDIR}
 else
     echo "${SOURCEDIR} already exists -> assume previous checkout"
 fi
 
 # Get the appropriate version of it:
 cd ${SOURCEDIR}
-git fetch --prune origin
-git checkout -f ${TAGBRANCH}
+_retry_ git fetch --prune origin
+_retry_ git checkout -f ${TAGBRANCH}