diff --git a/src/plugins/welcome/welcome.pro b/src/plugins/welcome/welcome.pro
index 2305e92300055fbd0be3a26b2f0895073f8ddcdf..c99ae8d0114015abdf372585557b7ba29921754e 100644
--- a/src/plugins/welcome/welcome.pro
+++ b/src/plugins/welcome/welcome.pro
@@ -1,5 +1,11 @@
+
 QT += quick
 
+!isEmpty(USE_QUICK_WIDGET) {
+    QT +=  quickwidgets
+    DEFINES += USE_QUICK_WIDGET
+}
+
 include(../../qtcreatorplugin.pri)
 
 HEADERS += welcomeplugin.h
diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp
index 283ab02b763866062dd9f570048370e6f5e56cbb..11d3e2a411bf3a891772efd8fc0b6ceb8a97a7c9 100644
--- a/src/plugins/welcome/welcomeplugin.cpp
+++ b/src/plugins/welcome/welcomeplugin.cpp
@@ -47,7 +47,13 @@
 
 #include <QDir>
 
-#include <QtQuick/QQuickView>
+#ifdef USE_QUICK_WIDGET
+    #include <QtQuickWidgets/QQuickWidget>
+    typedef QQuickWidget QuickContainer;
+#else
+    #include <QtQuick/QQuickView>
+    typedef QQuickView QuickContainer;
+#endif
 #include <QtQml/QQmlContext>
 #include <QtQml/QQmlEngine>
 
@@ -104,7 +110,7 @@ private:
     void facilitateQml(QQmlEngine *engine);
 
     QWidget *m_modeWidget;
-    QQuickView *m_welcomePage;
+    QuickContainer *m_welcomePage;
     QList<QObject*> m_pluginList;
     int m_activePlugin;
 };
@@ -124,46 +130,40 @@ WelcomeMode::WelcomeMode() :
     setContextHelpId(QLatin1String("Qt Creator Manual"));
     setContext(Core::Context(Core::Constants::C_WELCOME_MODE));
 
-    m_welcomePage = new QQuickView;
-#if QT_VERSION >= 0x050300
-    connect(m_welcomePage, SIGNAL(sceneGraphError(QQuickWindow::SceneGraphError,QString)),
-            this, SLOT(sceneGraphError(QQuickWindow::SceneGraphError,QString)));
-#endif // Qt 5.3
-    m_welcomePage->setObjectName(QLatin1String("WelcomePage"));
-    m_welcomePage->setResizeMode(QQuickView::SizeRootObjectToView);
-
-//  filter to forward dragEnter events
-//    m_welcomePage->installEventFilter(this);
-//    m_welcomePage->viewport()->installEventFilter(this);
-
     m_modeWidget = new QWidget;
     m_modeWidget->setObjectName(QLatin1String("WelcomePageModeWidget"));
-    QVBoxLayout *layout = new QVBoxLayout;
+    QVBoxLayout *layout = new QVBoxLayout(m_modeWidget);
     layout->setMargin(0);
     layout->setSpacing(0);
 
+    m_welcomePage = new QuickContainer();
+    m_welcomePage->setResizeMode(QuickContainer::SizeRootObjectToView);
+
+    m_welcomePage->setObjectName(QLatin1String("WelcomePage"));
+
+#if QT_VERSION >= 0x050300
+    connect(m_welcomePage, SIGNAL(sceneGraphError(QQuickWindow::SceneGraphError,QString)),
+            this, SLOT(sceneGraphError(QQuickWindow::SceneGraphError,QString)));
+#endif // Qt 5.3
+
     Utils::StyledBar* styledBar = new Utils::StyledBar(m_modeWidget);
     styledBar->setObjectName(QLatin1String("WelcomePageStyledBar"));
     layout->addWidget(styledBar);
 
+#ifdef USE_QUICK_WIDGET
+    m_welcomePage->setParent(m_modeWidget);
+    layout->addWidget(m_welcomePage);
+#else
     QWidget *container = QWidget::createWindowContainer(m_welcomePage, m_modeWidget);
     m_modeWidget->setLayout(layout);
     layout->addWidget(container);
+#endif // USE_QUICK_WIDGET
 
     connect(PluginManager::instance(), SIGNAL(objectAdded(QObject*)), SLOT(welcomePluginAdded(QObject*)));
 
     setWidget(m_modeWidget);
 }
 
-//bool WelcomeMode::eventFilter(QObject *, QEvent *e)
-//{
-//    if (e->type() == QEvent::DragEnter) {
-//        e->ignore();
-//        return true;
-//    }
-//    return false;
-//}
-
 WelcomeMode::~WelcomeMode()
 {
     QSettings *settings = Core::ICore::settings();