diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index 95fbfaadca98eb52d5ac28ac2c5e954cc179f21d..228143da12b0c5d0fc334b904e25c9fae8936b5d 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -48,6 +48,7 @@
 #include <utils/persistentsettings.h>
 #include <utils/environment.h>
 #include <utils/hostosinfo.h>
+#include <utils/qtcassert.h>
 #include <utils/synchronousprocess.h>
 
 #include <QDir>
@@ -1187,6 +1188,8 @@ QtConfigWidget *BaseQtVersion::createConfigurationWidget() const
 static QByteArray runQmakeQuery(const FileName &binary, const Environment &env,
                                 QString *error)
 {
+    QTC_ASSERT(error, return QByteArray());
+
     const int timeOutMS = 30000; // Might be slow on some machines.
 
     QProcess process;
@@ -1194,34 +1197,33 @@ static QByteArray runQmakeQuery(const FileName &binary, const Environment &env,
     process.start(binary.toString(), QStringList(QLatin1String("-query")), QIODevice::ReadOnly);
 
     if (!process.waitForStarted()) {
-        if (error)
-            *error = QCoreApplication::translate("QtVersion", "Cannot start '%1': %2").arg(binary.toUserOutput()).arg(process.errorString());
+        *error = QCoreApplication::translate("QtVersion", "Cannot start '%1': %2").arg(binary.toUserOutput()).arg(process.errorString());
         return QByteArray();
     }
     if (!process.waitForFinished(timeOutMS)) {
         SynchronousProcess::stopProcess(process);
-        if (error)
-            *error = QCoreApplication::translate("QtVersion", "Timeout running '%1' (%2ms).").arg(binary.toUserOutput()).arg(timeOutMS);
+        *error = QCoreApplication::translate("QtVersion", "Timeout running '%1' (%2ms).").arg(binary.toUserOutput()).arg(timeOutMS);
         return QByteArray();
     }
     if (process.exitStatus() != QProcess::NormalExit) {
-        if (error)
-            *error = QCoreApplication::translate("QtVersion", "'%s' crashed.").arg(binary.toUserOutput());
+        *error = QCoreApplication::translate("QtVersion", "'%s' crashed.").arg(binary.toUserOutput());
         return QByteArray();
     }
 
-    if (error)
-        error->clear();
+    error->clear();
     return process.readAllStandardOutput();
 }
 
 bool BaseQtVersion::queryQMakeVariables(const FileName &binary, const Environment &env,
                                         QHash<QString, QString> *versionInfo, QString *error)
 {
+    QString tmp;
+    if (!error)
+        error = &tmp;
+
     const QFileInfo qmake = binary.toFileInfo();
     if (!qmake.exists() || !qmake.isExecutable() || qmake.isDir()) {
-        if (error)
-            *error = QCoreApplication::translate("QtVersion", "qmake '%1' is not a executable").arg(binary.toUserOutput());
+        *error = QCoreApplication::translate("QtVersion", "qmake '%1' is not a executable").arg(binary.toUserOutput());
         return false;
     }