diff --git a/src/main.cpp b/src/main.cpp
index 34f8099f8ecb3e07ec257e64b23964377d6deeae..549d006fc860beee46b4f6bb17e2343dc736c893 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -43,6 +43,8 @@ static QObject *createAppInstance(QQmlEngine *qmlEngine, QJSEngine *jsEngine)
 
 int Q_DECL_EXPORT main(int argc, char *argv[])
 {
+    qputenv("QT_LOGGING_RULES", "qt.qml.connections=false");
+
     QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
     QGuiApplication app(argc, argv);
     QGuiApplication::setOrganizationName(QStringLiteral("UnknownDeveloper"));
@@ -95,8 +97,12 @@ int Q_DECL_EXPORT main(int argc, char *argv[])
                      Qt::QueuedConnection);
     QObject::connect(&engine, &QQmlApplicationEngine::warnings, &engine, [](const QList< QQmlError > &warnings) noexcept {
         for (const auto &warning : warnings) {
-            qCritical() << "QML Warning:" << warning.url() << ":" << warning.line() << warning.toString();
-            if (warning.toString().endsWith(QStringLiteral("svg"))) {
+            const auto &warningStr = warning.toString();
+            qCritical() << "QML Warning:" << warning.url() << ":" << warning.line() << warningStr;
+            if (warningStr.endsWith(QLatin1String("svg"))) {
+                return;
+            }
+            if (warningStr.contains(QLatin1String("Binding loop detected"))) {
                 return;
             }
         }