diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index e122c1d3b8e457fc5f2ea176cbff65fed0ac7922..f956d7721964d63b3f27aad006e5b2cd998891f4 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -72,6 +72,12 @@ class Qt(Package):
     patch('qt4-pcre-include-conflict.patch', when='@4')
     patch('qt4-el-capitan.patch', when='@4')
 
+    # Allow Qt's configure script to build the webkit option with more
+    # recent versions of gcc.
+    # https://github.com/spack/spack/issues/9205
+    # https://github.com/spack/spack/issues/9209
+    patch('qt4-gcc-and-webkit.patch', when='@4')
+
     # Use system openssl for security.
     depends_on("openssl")
     depends_on("glib", when='@4:')
diff --git a/var/spack/repos/builtin/packages/qt/qt4-gcc-and-webkit.patch b/var/spack/repos/builtin/packages/qt/qt4-gcc-and-webkit.patch
new file mode 100644
index 0000000000000000000000000000000000000000..38a1c350f3ab9fc043dc18564d9b2b5a1a0ef8cb
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt/qt4-gcc-and-webkit.patch
@@ -0,0 +1,20 @@
+--- a/configure.orig	2018-09-18 07:02:33.866633000 +1000
++++ b/configure	2018-09-18 07:05:21.935194000 +1000
+@@ -7708,7 +7708,7 @@
+ 
+ 	# Check gcc's version
+ 	case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
+-	    4*)
++	    [4-8]*)
+ 		;;
+ 	    3.4*)
+ 		canBuildQtXmlPatterns="no"
+@@ -7729,7 +7729,7 @@
+     *-g++*)
+ 	# Check gcc's version
+ 	case "$(${QMAKE_CONF_COMPILER} -dumpversion)" in
+-	    4*|3.4*)
++	    [4-8]*|3.4*)
+ 		;;
+             3.3*)
+                 canBuildWebKit="no"