diff --git a/Utilities/Scripts/update-expat.bash b/Utilities/Scripts/update-expat.bash
new file mode 100755
index 0000000000000000000000000000000000000000..8a2a5fe4f8ad192881afb9606ea6696ee4efa3d1
--- /dev/null
+++ b/Utilities/Scripts/update-expat.bash
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+set -e
+set -x
+shopt -s dotglob
+
+readonly name="expat"
+readonly ownership="Expat Upstream <kwrobot@kitware.com>"
+readonly subtree="Utilities/cmexpat"
+readonly repo="http://git.code.sf.net/p/expat/code_git"
+readonly tag="master"
+readonly shortlog=false
+readonly paths="
+  expat/lib/asciitab.h
+  expat/lib/expat.h
+  expat/lib/xmltok.h
+  expat/lib/internal.h
+  expat/lib/xmlrole.h
+  expat/lib/iasciitab.h
+  expat/lib/latin1tab.h
+  expat/lib/xmlrole.c
+  expat/lib/utf8tab.h
+  expat/lib/nametab.h
+  expat/lib/ascii.h
+  expat/lib/xmltok_impl.h
+  expat/lib/xmltok_ns.c
+  expat/lib/winconfig.h
+  expat/lib/expat_external.h
+  expat/lib/xmltok.c
+  expat/lib/xmlparse.c
+  expat/lib/xmltok_impl.c
+  expat/README
+  expat/ConfigureChecks.cmake
+  expat/CMakeLists.txt
+  expat/expat_config.h.cmake
+  expat/COPYING
+"
+
+extract_source () {
+    git_archive
+    pushd "${extractdir}/${name}-reduced"
+    fromdos expat/ConfigureChecks.cmake expat/CMakeLists.txt expat/expat_config.h.cmake
+    chmod a-x expat/ConfigureChecks.cmake expat/CMakeLists.txt expat/expat_config.h.cmake
+    mv expat/* .
+    rmdir expat
+    popd
+}
+
+. "${BASH_SOURCE%/*}/update-third-party.bash"