diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 4e6af88bb70b4ef333ec41a745bde4415095dc2d..c07aa5c86ebd03c43048c9f105d66e0a21e96f78 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -359,9 +359,6 @@ def common_config_args(self):
             '-{0}opengl'.format('' if '+opengl' in self.spec else 'no-'),
             '-release',
             '-confirm-license',
-            '-openssl-linked',
-            openssl.libs.search_flags,
-            openssl.headers.include_flags,
             '-optimized-qmake',
             '-no-pch',
         ]
@@ -380,7 +377,11 @@ def common_config_args(self):
             config_args.append('-no-freetype')
 
         if '+ssl' in self.spec:
-            config_args.append('-openssl-linked')
+            config_args.extend([
+                '-openssl-linked',
+                openssl.libs.search_flags,
+                openssl.headers.include_flags,
+            ])
         else:
             config_args.append('-no-openssl')
 
@@ -568,6 +569,12 @@ def configure(self, spec, prefix):
         if version >= Version('5.10') and '~opengl' in spec:
             config_args.extend([
                 '-skip', 'webglplugin',
+                '-skip', 'qt3d',
+            ])
+
+        if version >= Version('5.14') and '~opengl' in spec:
+            config_args.extend([
+                '-skip', 'qtquick3d',
             ])
 
         configure(*config_args)