diff --git a/polly/lib/External/README.txt b/polly/lib/External/README.txt
index 806e8bb6124c..c99eda318424 100644
--- a/polly/lib/External/README.txt
+++ b/polly/lib/External/README.txt
@@ -15,3 +15,4 @@ Details: isl/imath/LICENSE
 
 To update these libraries run 'autoreconf -i && ./configure && make dist' in
 the isl git directory and move the resulting files into lib/External/isl.
+Alternatively, run the update-isl.sh script.
diff --git a/polly/lib/External/update-isl.sh b/polly/lib/External/update-isl.sh
new file mode 100755
index 000000000000..ccefde6df52b
--- /dev/null
+++ b/polly/lib/External/update-isl.sh
@@ -0,0 +1,27 @@
+#! /bin/sh
+set -e
+
+# Replace the content of the isl directory with a fresh clone from
+# http://repo.or.cz/isl.git
+
+SCRIPTPATH=`realpath --no-symlinks $(dirname $0)`
+ISL_SOURCE_DIR="${SCRIPTPATH}/isl"
+
+
+TMPDIR=`mktemp -d --tmpdir isl-XXX`
+GITDIR=$TMPDIR/src
+BUILDDIR=$TMPDIR/build
+
+git clone --recursive http://repo.or.cz/isl.git $GITDIR
+(cd $GITDIR && ./autogen.sh)
+mkdir -p $BUILDDIR
+(cd $BUILDDIR && $GITDIR/configure --with-int=imath-32)
+(cd $BUILDDIR && make dist)
+
+for DISTFILE in "$BUILDDIR/isl*.tar.gz"; do break; done
+
+rm -rf $ISL_SOURCE_DIR
+mkdir -p $ISL_SOURCE_DIR
+tar -xf $DISTFILE --strip-components=1 --directory $ISL_SOURCE_DIR
+
+rm -rf $TMPDIR