diff --git a/tests/auto/qml/qqmlcomponent/data/createWindow.qml b/tests/auto/qml/qqmlcomponent/data/createWindow.qml
new file mode 100644
index 0000000000000000000000000000000000000000..af0b7edeb2fca4c019689801852cc96ec5c8d499
--- /dev/null
+++ b/tests/auto/qml/qqmlcomponent/data/createWindow.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.1
+import QtQuick.Window 2.1
+
+Window {
+    id: window1;
+    objectName: "window1";
+    color: "#00FF00";
+    width: 100; height: 100;
+    Item {
+        objectName: "item1"
+        width: 100; height: 100;
+        MouseArea {
+            objectName: "mousearea"
+            anchors.fill: parent;
+            onPressed: window2.requestActivate();
+        }
+        Component.onCompleted: window2.show();
+    }
+
+    Window {
+        id: window2;
+        objectName: "window2";
+        color: "#FF0000";
+        width: 100; height: 100;
+        Item {
+            width: 100; height: 100;
+        }
+    }
+}
diff --git a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp
index 697c8103b0529dfbdf761d179b133f557c084368..9eeff66e7a03ea863123f4db6c67c3008ddab2f7 100644
--- a/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp
+++ b/tests/auto/qml/qqmlcomponent/tst_qqmlcomponent.cpp
@@ -105,6 +105,7 @@ public:
 private slots:
     void null();
     void loadEmptyUrl();
+    void qmlCreateWindow();
     void qmlCreateObject();
     void qmlCreateObjectWithProperties();
     void qmlIncubateObject();
@@ -163,6 +164,15 @@ void tst_qqmlcomponent::qmlIncubateObject()
     delete object;
 }
 
+void tst_qqmlcomponent::qmlCreateWindow()
+{
+    QQmlEngine engine;
+    QQmlComponent component(&engine);
+    component.loadUrl(testFileUrl("createWindow.qml"));
+    QQuickWindow* window = qobject_cast<QQuickWindow *>(component.create());
+    QVERIFY(window);
+}
+
 void tst_qqmlcomponent::qmlCreateObject()
 {
     QQmlEngine engine;