diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp
index 7a4f369ed30c9c94a39bac3d3980828961b93b2f..99c7ec749db550fd5697a2110b987aa4c26386d5 100644
--- a/src/testlib/qtestlog.cpp
+++ b/src/testlib/qtestlog.cpp
@@ -399,6 +399,12 @@ void QTestLog::addBenchmarkResult(const QBenchmarkResult &result)
     QTest::TestLoggers::addBenchmarkResult(result);
 }
 
+// don't warn about qInstallMsgHandler
+#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) && !defined(Q_CC_INTEL)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
 void QTestLog::startLogging()
 {
     QTest::TestLoggers::startLogging();
@@ -414,6 +420,10 @@ void QTestLog::stopLogging()
     saveCoverageTool(QTestResult::currentAppname(), failCount() != 0, QTestLog::installedTestCoverage());
 }
 
+#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406) && !defined(Q_CC_INTEL)
+# pragma GCC diagnostic pop
+#endif
+
 void QTestLog::addLogger(LogMode mode, const char *filename)
 {
     if (filename && strcmp(filename, "-") == 0)