diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.cpp b/tests/auto/qml/qmldesigner/coretests/testcore.cpp
index d29f6bc7d2b377a0eb94959f801db633a12dc303..b031b3f41a35c16dd22a908ca23d88ae0b466c64 100644
--- a/tests/auto/qml/qmldesigner/coretests/testcore.cpp
+++ b/tests/auto/qml/qmldesigner/coretests/testcore.cpp
@@ -4229,6 +4229,45 @@ void TestCore::testModelNodeInHierarchy()
     QVERIFY(node2.isInHierarchy());
 }
 
+void TestCore::testModelNodeIsAncestorOf()
+{
+    QScopedPointer<Model> model(Model::create("Qt/Item"));
+    QVERIFY(model.data());
+
+    //
+    //  import Qt 4.6
+    //  Item {
+    //    Item {
+    //      id: item2
+    //    }
+    //    Item {
+    //      id: item3
+    //      Item {
+    //        id: item4
+    //      }
+    //    }
+    //  }
+    //
+    QScopedPointer<TestView> view(new TestView);
+    QVERIFY(view.data());
+    model->attachView(view.data());
+
+    view->rootModelNode().setId("item1");
+    ModelNode item2 = view->rootModelNode().addChildNode("Qt/Item", 4, 6, "data");
+    item2.setId("item2");
+    ModelNode item3 = view->rootModelNode().addChildNode("Qt/Item", 4, 6, "data");
+    item3.setId("item3");
+    ModelNode item4 = item3.addChildNode("Qt/Item", 4, 6, "data");
+    item4.setId("item4");
+
+    QVERIFY(view->rootModelNode().isAncestorOf(item2));
+    QVERIFY(view->rootModelNode().isAncestorOf(item3));
+    QVERIFY(view->rootModelNode().isAncestorOf(item4));
+    QVERIFY(!item2.isAncestorOf(view->rootModelNode()));
+    QVERIFY(!item2.isAncestorOf(item4));
+    QVERIFY(item3.isAncestorOf(item4));
+}
+
 void TestCore::testModelDefaultProperties()
 {
     QScopedPointer<Model> model(Model::create("Qt/Rectangle"));
diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.h b/tests/auto/qml/qmldesigner/coretests/testcore.h
index 8c62f8427dc8d789210c97d98de90c4b629d9faf..1e9f09140e16f2f1d21af7fd04778cd0590e169a 100644
--- a/tests/auto/qml/qmldesigner/coretests/testcore.h
+++ b/tests/auto/qml/qmldesigner/coretests/testcore.h
@@ -66,6 +66,7 @@ private slots:
     void testModelNodeListProperty();
     void testModelPropertyValueTypes();
     void testModelNodeInHierarchy();
+    void testModelNodeIsAncestorOf();
 
     //
     // unit tests MetaInfo, NodeMetaInfo, PropertyMetaInfo