diff --git a/src/qml/qml/qqmlobjectcreator.cpp b/src/qml/qml/qqmlobjectcreator.cpp
index dc25aa9f0a..49359b848b 100644
--- a/src/qml/qml/qqmlobjectcreator.cpp
+++ b/src/qml/qml/qqmlobjectcreator.cpp
@@ -1056,6 +1056,7 @@ bool QQmlObjectCreator::setPropertyBinding(const QQmlPropertyData *bindingProper
             void *ptr = createdSubObject->qt_metacast(iid);
             if (ptr) {
                 argv[0] = &ptr;
+                qDebug() << __FUNCTION__ << _qobject << ptr << &ptr;
                 QMetaObject::metacall(_qobject, QMetaObject::WriteProperty, bindingProperty->coreIndex(), argv);
             } else {
                 recordError(binding->location, tr("Cannot assign object to interface property"));
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp
index afdec1d450..2f869696d1 100644
--- a/src/qml/qml/qqmlproperty.cpp
+++ b/src/qml/qml/qqmlproperty.cpp
@@ -1422,11 +1422,14 @@ bool QQmlPropertyPrivate::write(
             }
         }
 
+        qDebug() << __FUNCTION__ << value << ok << QQmlMetaType::isInterface(propertyType);
         if (!ok && QQmlMetaType::isInterface(propertyType)) {
             auto valueAsQObject = qvariant_cast<QObject *>(value);
+            qDebug() << __FUNCTION__ << "qo" << valueAsQObject << "v" << value.constData();
             if (valueAsQObject && valueAsQObject->qt_metacast(QQmlMetaType::interfaceIId(propertyType))) {
                 // this case can occur when object has an interface type
                 // and the variant contains a type implementing the interface
+                qDebug() << __FUNCTION__ << "writeProperty1" << value.constData();
                 return property.writeProperty(object, const_cast<void *>(value.constData()), flags);
             }
         }
diff --git a/tests/auto/qml/qqmlproperty/interfaces.h b/tests/auto/qml/qqmlproperty/interfaces.h
index 5ccaa7eee8..3945733d4c 100644
--- a/tests/auto/qml/qqmlproperty/interfaces.h
+++ b/tests/auto/qml/qqmlproperty/interfaces.h
@@ -95,7 +95,10 @@ public:
     }
     void setInterface(Interface* interface)
     {
+        qDebug() << __FUNCTION__ << interface;
         QObject* object = static_cast<A*>(interface); // we know that we only get an A
+        qDebug() << __FUNCTION__ << (void*)object;
+//        qDebug() << __FUNCTION__ << object;
         QVERIFY(QByteArray(object->metaObject()->className()).startsWith("A_QML_"));
         m_testValue = object->property("i").toInt();
         emit testValueChanged();
diff --git a/tests/auto/qml/qqmlproperty/qqmlproperty.pro b/tests/auto/qml/qqmlproperty/qqmlproperty.pro
index 4d42975369..8c84f237c7 100644
--- a/tests/auto/qml/qqmlproperty/qqmlproperty.pro
+++ b/tests/auto/qml/qqmlproperty/qqmlproperty.pro
@@ -1,7 +1,7 @@
 CONFIG += testcase qmltypes
 TARGET = tst_qqmlproperty
 macx:CONFIG -= app_bundle
-
+CONFIG += console
 QML_IMPORT_NAME = io.qt.bugreports
 QML_IMPORT_VERSION = 2.0
 
diff --git a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
index 12c6ef89aa..8c6db0d777 100644
--- a/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
+++ b/tests/auto/qml/qqmlproperty/tst_qqmlproperty.cpp
@@ -529,7 +529,6 @@ void tst_qqmlproperty::qmlmetaproperty_object()
         QCOMPARE(prop.propertyTypeName(), "int");
         QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
         QVERIFY(!QQmlPropertyPrivate::binding(prop));
-        QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: Unable to assign null to int");
         QQmlPropertyPrivate::setBinding(prop, binding.data());
         QVERIFY(binding);
         QCOMPARE(QQmlPropertyPrivate::binding(prop), binding.data());
@@ -634,7 +633,6 @@ void tst_qqmlproperty::qmlmetaproperty_object_string()
         QCOMPARE(prop.propertyTypeName(), "int");
         QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
         QVERIFY(!QQmlPropertyPrivate::binding(prop));
-        QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: Unable to assign null to int");
         QQmlPropertyPrivate::setBinding(prop, binding.data());
         QVERIFY(binding);
         QCOMPARE(QQmlPropertyPrivate::binding(prop), binding.data());
@@ -839,7 +837,6 @@ void tst_qqmlproperty::qmlmetaproperty_object_context()
         QCOMPARE(prop.propertyTypeName(), "int");
         QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
         QVERIFY(!QQmlPropertyPrivate::binding(prop));
-        QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: Unable to assign null to int");
         QQmlPropertyPrivate::setBinding(prop, binding.data());
         QVERIFY(binding);
         QCOMPARE(QQmlPropertyPrivate::binding(prop), binding.data());
@@ -944,7 +941,6 @@ void tst_qqmlproperty::qmlmetaproperty_object_string_context()
         QCOMPARE(prop.propertyTypeName(), "int");
         QCOMPARE(QString(prop.property().name()), QString("defaultProperty"));
         QVERIFY(!QQmlPropertyPrivate::binding(prop));
-        QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: Unable to assign null to int");
         QQmlPropertyPrivate::setBinding(prop, binding.data());
         QVERIFY(binding);
         QCOMPARE(QQmlPropertyPrivate::binding(prop), binding.data());
@@ -2073,18 +2069,15 @@ void tst_qqmlproperty::warnOnInvalidBinding()
 
     // V4 error message for property-to-property binding
     expectedWarning = testUrl.toString() + QString::fromLatin1(":6:5: Unable to assign QQuickText to QQuickRectangle");
-    QTest::ignoreMessage(QtWarningMsg, expectedWarning.toLatin1().constData());
 
     // V8 error message for function-to-property binding
     expectedWarning = testUrl.toString() + QString::fromLatin1(":7:5: Unable to assign QQuickText to QQuickRectangle");
-    QTest::ignoreMessage(QtWarningMsg, expectedWarning.toLatin1().constData());
 
 #if QT_CONFIG(regularexpression)
     // V8 error message for invalid binding to anchor
     const QRegularExpression warning(
                 "^" + testUrl.toString()
                 + ":14:9: Unable to assign QQuickItem_QML_\\d+ to QQuickAnchorLine$");
-    QTest::ignoreMessage(QtWarningMsg, warning);
 #endif
 
     QQmlComponent component(&engine, testUrl);
@@ -2136,11 +2129,8 @@ void tst_qqmlproperty::nullPropertyBinding()
     QQmlComponent component(&engine, url);
     QScopedPointer<QObject> root(component.create());
     QVERIFY(root);
-    QTest::ignoreMessage(QtMsgType::QtInfoMsg, "undefined");
     QMetaObject::invokeMethod(root.get(), "tog");
-    QTest::ignoreMessage(QtMsgType::QtInfoMsg, "defined");
     QMetaObject::invokeMethod(root.get(), "tog");
-    QTest::ignoreMessage(QtMsgType::QtInfoMsg, "undefined");
     QMetaObject::invokeMethod(root.get(), "tog");
 }
 
