diff --git a/configure.pri b/configure.pri
index 054ab283b79a4221cea232516a0f9f5958792f5b..acb345ae6df7925f8b9abc5943fae6ce77209057 100644
--- a/configure.pri
+++ b/configure.pri
@@ -342,6 +342,10 @@ defineTest(qtConfTest_hasGcc6OrNewer) {
 }
 
 defineTest(qtConfTest_detectSubmodule) {
+    isEmpty(QTWEBENGINE_ROOT) {
+        # topLevel build , add poor man's workaround
+        QTWEBENGINE_ROOT=$$PWD/../../../qtwebengine
+    }
     !exists($$QTWEBENGINE_ROOT/src/3rdparty/chromium):return(false)
     return(true)
 }
@@ -351,3 +355,8 @@ defineTest(qtConfTest_detectNoWhitespace) {
     !isEmpty(WSPC):return(false)
     return(true)
 }
+
+defineTest(qtwebengine_confCheckError) {
+    QT_FOR_CONFIG += buildtools-private gui-private
+    return($$qtwebengine_checkError())
+}
diff --git a/src/buildtools/config/platform.pri b/src/buildtools/config/platform.pri
index c5a8d524f6b4370ed2f86f48ba01c55758aab189..8ff3da4c3632229f02747ed52695d72be1d75d1b 100644
--- a/src/buildtools/config/platform.pri
+++ b/src/buildtools/config/platform.pri
@@ -163,10 +163,7 @@ defineTest(qtwebengine_skipBuild) {
     export(skipBuildReason)
 }
 
-defineTest(qtwebengine_checkError) {
-
-    include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
-    QT_FOR_CONFIG += buildtools-private gui-private
+defineReplace(qtwebengine_checkError) {
 
     static {
        qtwebengine_skipBuild("Static builds of QtWebEngine are not supported.")
@@ -277,3 +274,9 @@ defineTest(qtwebengine_checkErrorForWindows) {
     }
     return(true)
 }
+
+defineTest(qtwebengine_makeCheckError) {
+    include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri)
+    QT_FOR_CONFIG += buildtools-private gui-private
+    return($$qtwebengine_checkError())
+}
diff --git a/src/buildtools/configure.json b/src/buildtools/configure.json
index c051b64131763bbc4b68a22075fa7eda45d2d401..81780f7c71a8588ea0b1da33e25e3f272d68b204 100644
--- a/src/buildtools/configure.json
+++ b/src/buildtools/configure.json
@@ -377,10 +377,10 @@
                          && features.webengine-gperf
                          && features.webengine-bison
                          && features.webengine-flex
+                         && features.webengine-submodule
+                         && features.webengine-nowhitespace
                          && tests.webengine-platform
                          && tests.webengine-architecture
-                         && tests.webengine-submodule
-                         && tests.webengine-nowhitespace
                          && !config.static
                          && (!config.linux || features.pkg-config)
                          && (!features.xcb || features.webengine-ozone-x11)
@@ -654,7 +654,7 @@
         },
         "webengine-submodule": {
             "label": "submodule",
-            "condtion": "tests.webengine-submodule",
+            "condition": "tests.webengine-submodule",
             "output": [ "privateFeature" ]
         },
         "webengine-nowhitespace": {
@@ -667,7 +667,7 @@
         {
             "type": "skipBuildWarning",
             "condition": "!features.webengine-core-support && (features.build-qtwebengine-core || features.build-qtpdf)",
-            "message": "qtwebengine_checkError"
+            "message": "qtwebengine_confCheckError"
         },
         {
             "type": "note",
diff --git a/src/src.pro b/src/src.pro
index adb26efdc1186aee2a9f2e76b383b7b16a626b68..de88878a695668e0353746522a55ff31f090c150 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -39,7 +39,7 @@ qtConfig(build-qtwebengine-core):qtConfig(webengine-core-support) {
 }
 
 !qtConfig(webengine-core-support): qtConfig(build-qtwebengine-core) {
-    !qtwebengine_checkError():!isEmpty(skipBuildReason):!build_pass {
+    !qtwebengine_makeCheckError():!isEmpty(skipBuildReason):!build_pass {
         errorbuild.commands = @echo Modules will not be built. $${skipBuildReason}
         errorbuild.CONFIG = phony
         QMAKE_EXTRA_TARGETS += errorbuild