diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 5fdd07c7a5efa8a49d8c78a9abf26820fd43d18b..3217b90215d601fcd49ae034e52b56eb8701bd8c 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -173,7 +173,16 @@ def common_config_args(self):
         else:
             config_args.append('-no-dbus')
 
-        if sys.platform == 'darwin':
+        if '@5:' in self.spec and sys.platform == 'darwin':
+            config_args.extend([
+                    '-no-xinput2',
+                    '-no-xcb-xlib',
+                    '-no-pulseaudio',
+                    '-no-alsa',
+                    '-no-gtkstyle',
+                ])
+
+        if '@4' in self.spec and sys.platform == 'darwin':
             sdkpath = which('xcrun')('--show-sdk-path',
                                      # XXX(macos): the 10.11 SDK fails to configure.
                                      '--sdk', 'macosx10.9',
@@ -222,7 +231,6 @@ def configure(self):
     def configure(self):
         configure('-no-eglfs',
                   '-no-directfb',
-                  '-qt-xcb',
                   '{0}-gtkstyle'.format('' if '+gtk' in self.spec else '-no'),
                   '-skip', 'qtwebkit',
                   *self.common_config_args)