diff --git a/Projects/AnalysisBase/externals.txt b/Projects/AnalysisBase/externals.txt
index 84e6d32ac2aef4999fa016b54fcaa81fdeb644b8..e2bad52dc1cedeee3cb1709266e15c62ed8cc00c 100644
--- a/Projects/AnalysisBase/externals.txt
+++ b/Projects/AnalysisBase/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AnalysisBaseExternalsVersion = 2.0.47
+AnalysisBaseExternalsVersion = 2.0.45
diff --git a/Projects/AnalysisTop/externals.txt b/Projects/AnalysisTop/externals.txt
index a28fb9644789bb50bd907706d9e0edd3a33567b2..c73c82e7411c48218500750e6adf91e7483b52fe 100644
--- a/Projects/AnalysisTop/externals.txt
+++ b/Projects/AnalysisTop/externals.txt
@@ -1,4 +1,4 @@
 # Versions of the various externals to build before starting the build of
 # this project, when doing a full stack nightly build.
 
-AnalysisBaseExternalsVersion = 2.0.47
+AnalysisBaseExternalsVersion = 2.0.45
diff --git a/Projects/AthDataQuality/externals.txt b/Projects/AthDataQuality/externals.txt
index a02b30559dfdfdd897bf35878e927c6c6791e492..c90085796f93feb03c21d29d4d0ed39b5af1f5ee 100644
--- a/Projects/AthDataQuality/externals.txt
+++ b/Projects/AthDataQuality/externals.txt
@@ -5,4 +5,4 @@
 # an "origin/" prefix before it. For tags however this is explicitly
 # forbidden.
 
-AtlasExternalsVersion = 2.0.47
+AtlasExternalsVersion = 2.0.45
diff --git a/Projects/AthSimulation/build_externals.sh b/Projects/AthSimulation/build_externals.sh
index 63b9fee3d296e73088828e9747b6f5d14e078ec6..1548b155d9b1d5163c8713a0914ef352f586a57a 100755
--- a/Projects/AthSimulation/build_externals.sh
+++ b/Projects/AthSimulation/build_externals.sh
@@ -57,12 +57,9 @@ while getopts ":t:b:x:fch" opt; do
     esac
 done
 
-# Only stop on errors if we are in the CI. Otherwise just count them.
-if [ "$CI" = "1" ]; then
-    set -e
-    set -o pipefail
-fi
-ERROR_COUNT=0
+# Stop on errors from here on out:
+set -e
+set -o pipefail
 
 # We are in BASH, get the path of this script in a simple way:
 thisdir=$(dirname ${BASH_SOURCE[0]})
@@ -121,7 +118,7 @@ ${scriptsdir}/build_atlasexternals.sh \
     -b ${BUILDDIR}/build/AthSimulationExternals \
     -i ${BUILDDIR}/install/AthSimulationExternals/${NICOS_PROJECT_VERSION} \
     -p AthSimulationExternals ${RPMOPTIONS} -t ${BUILDTYPE} \
-    ${EXTRACMAKE[@]/#/-x } -v ${NICOS_PROJECT_VERSION} || ((ERROR_COUNT++))
+    ${EXTRACMAKE[@]/#/-x } -v ${NICOS_PROJECT_VERSION}
 
 # Get the "platform name" from the directory created by the AthSimulationExternals
 # build:
@@ -143,10 +140,4 @@ ${scriptsdir}/build_Gaudi.sh \
     -i ${BUILDDIR}/install/GAUDI/${NICOS_PROJECT_VERSION} \
     -e ${BUILDDIR}/install/AthSimulationExternals/${NICOS_PROJECT_VERSION}/InstallArea/${platform} \
     -p AthSimulationExternals -f ${platform} ${EXTRACMAKE[@]/#/-x } \
-    ${RPMOPTIONS} -t ${BUILDTYPE} || ((ERROR_COUNT++))
-
-# Exit with the error count taken into account.
-if [ ${ERROR_COUNT} -ne 0 ]; then
-    echo "AthSimulation externals build encountered ${ERROR_COUNT} error(s)"
-fi
-exit ${ERROR_COUNT}
+    ${RPMOPTIONS} -t ${BUILDTYPE}
diff --git a/Projects/AthSimulation/externals.txt b/Projects/AthSimulation/externals.txt
index c5c14fdd6517adaf28597ef94dd9ce3bba5e799b..e039ebe88d5f2d427934ff6151665b21c7c15e00 100644
--- a/Projects/AthSimulation/externals.txt
+++ b/Projects/AthSimulation/externals.txt
@@ -6,7 +6,7 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthSimulationExternalsVersion = 2.0.47
+AthSimulationExternalsVersion = 2.0.45
 
 # The version of atlas/Gaudi to use:
 GaudiVersion = v32r2.003
diff --git a/Projects/Athena/build_externals.sh b/Projects/Athena/build_externals.sh
index 38ff7afb4344ebf1e3b3e37f08c14c9d74b6b83f..01404b17391bb4b9c097403309b7e1603bbc27bc 100755
--- a/Projects/Athena/build_externals.sh
+++ b/Projects/Athena/build_externals.sh
@@ -57,12 +57,9 @@ while getopts ":t:b:x:fch" opt; do
     esac
 done
 
-# Only stop on errors if we are in the CI. Otherwise just count them.
-if [ "$CI" = "1" ]; then
-    set -e
-    set -o pipefail
-fi
-ERROR_COUNT=0
+# Stop on errors from here on out
+set -e
+set -o pipefail
 
 # We are in BASH, get the path of this script in a simple way:
 thisdir=$(dirname ${BASH_SOURCE[0]})
@@ -146,7 +143,7 @@ ${scriptsdir}/build_atlasexternals.sh \
     -i ${BUILDDIR}/install/AthenaExternals/${NICOS_PROJECT_VERSION} \
     -p AthenaExternals ${RPMOPTIONS} -t ${BUILDTYPE} \
     -v ${NICOS_PROJECT_VERSION} \
-    ${EXTRACMAKE[@]/#/-x } || ((ERROR_COUNT++))
+    ${EXTRACMAKE[@]/#/-x }
 
 {
  test "X${NIGHTLY_STATUS}" != "X" && {
@@ -185,7 +182,7 @@ ${scriptsdir}/build_Gaudi.sh \
     -i ${BUILDDIR}/install/GAUDI/${NICOS_PROJECT_VERSION} \
     -e ${BUILDDIR}/install/AthenaExternals/${NICOS_PROJECT_VERSION}/InstallArea/${platform} \
     -p AthenaExternals -f ${platform} ${RPMOPTIONS} -t ${BUILDTYPE} \
-    ${EXTRACMAKE[@]/#/-x } || ((ERROR_COUNT++))
+    ${EXTRACMAKE[@]/#/-x }
 
 {
  test "X${NIGHTLY_STATUS}" != "X" && {
@@ -195,9 +192,3 @@ ${scriptsdir}/build_Gaudi.sh \
    )
  } || true
 }
-
-# Exit with the error count taken into account.
-if [ ${ERROR_COUNT} -ne 0 ]; then
-    echo "Athena externals build encountered ${ERROR_COUNT} error(s)"
-fi
-exit ${ERROR_COUNT}
diff --git a/Projects/Athena/externals.txt b/Projects/Athena/externals.txt
index bf1f6f1bf85db235b4db76680738131c07e44a1e..2eccb972424b45091abed08d07050e52df24b0ac 100644
--- a/Projects/Athena/externals.txt
+++ b/Projects/Athena/externals.txt
@@ -6,7 +6,7 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-AthenaExternalsVersion = 2.0.47
+AthenaExternalsVersion = 2.0.45
 
 # The version of atlas/Gaudi to use:
 GaudiVersion = v32r2.003
diff --git a/Projects/VP1Light/externals.txt b/Projects/VP1Light/externals.txt
index c6d19c9cad849e4be33ba23c8ad5a4d531d457ab..ca2c4b2aaa5cb30f5a88d6370d2f1c4ef290dccf 100644
--- a/Projects/VP1Light/externals.txt
+++ b/Projects/VP1Light/externals.txt
@@ -6,4 +6,4 @@
 # forbidden.
 
 # The version of atlas/atlasexternals to use:
-VP1LightExternalsVersion = 2.0.47
+VP1LightExternalsVersion = 2.0.45