diff --git a/Modules/QtWidgets/CMakeLists.txt b/Modules/QtWidgets/CMakeLists.txt
index 408fe87..11ecb1d 100644
--- a/Modules/QtWidgets/CMakeLists.txt
+++ b/Modules/QtWidgets/CMakeLists.txt
@@ -1,6 +1,6 @@
 MITK_CREATE_MODULE(
   DEPENDS MitkPlanarFigure MitkOverlays
-  PACKAGE_DEPENDS VTK|vtkGUISupportQt Qt4|QtGui Qt5|Widgets
+  PACKAGE_DEPENDS VTK|vtkGUISupportQt+vtkGUISupportQtOpenGL Qt4|QtGui+QtOpenGL Qt5|Widgets+OpenGL
   SUBPROJECTS MITK-CoreUI
   EXPORT_DEFINE QMITK_EXPORT
 )diff --git a/Modules/QtWidgets/QmitkRenderWindow.cpp b/Modules/QtWidgets/QmitkRenderWindow.cpp
index b7190d6..6978eb4 100644
--- a/Modules/QtWidgets/QmitkRenderWindow.cpp
+++ b/Modules/QtWidgets/QmitkRenderWindow.cpp
@@ -40,7 +40,7 @@ QmitkRenderWindow::QmitkRenderWindow(QWidget *parent,
     QString name,
     mitk::VtkPropRenderer* /*renderer*/,
     mitk::RenderingManager* renderingManager,mitk::BaseRenderer::RenderingMode::Type renderingMode) :
-    QVTKWidget(parent), m_ResendQtEvents(true), m_MenuWidget(NULL), m_MenuWidgetActivated(false), m_LayoutIndex(0)
+    QVTKWidget2(parent), m_ResendQtEvents(true), m_MenuWidget(NULL), m_MenuWidgetActivated(false), m_LayoutIndex(0)
 {
   if(renderingMode == mitk::BaseRenderer::RenderingMode::DepthPeeling)
   {
@@ -108,7 +108,7 @@ void QmitkRenderWindow::mousePressEvent(QMouseEvent *me)
   { // TODO: INTERACTION_LEGACY
     mitk::MouseEvent myevent(QmitkEventAdapter::AdaptMouseEvent(m_Renderer, me));
     this->mousePressMitkEvent(&myevent);
-    QVTKWidget::mousePressEvent(me);
+    QVTKWidget2::mousePressEvent(me);
   }
 
   if (m_ResendQtEvents)
@@ -127,7 +127,7 @@ void QmitkRenderWindow::mouseDoubleClickEvent( QMouseEvent *me )
   { // TODO: INTERACTION_LEGACY
     mitk::MouseEvent myevent(QmitkEventAdapter::AdaptMouseEvent(m_Renderer, me));
     this->mousePressMitkEvent(&myevent);
-    QVTKWidget::mousePressEvent(me);
+    QVTKWidget2::mousePressEvent(me);
   }
 
   if (m_ResendQtEvents)
@@ -146,7 +146,7 @@ void QmitkRenderWindow::mouseReleaseEvent(QMouseEvent *me)
   { // TODO: INTERACTION_LEGACY
     mitk::MouseEvent myevent(QmitkEventAdapter::AdaptMouseEvent(m_Renderer, me));
     this->mouseReleaseMitkEvent(&myevent);
-    QVTKWidget::mouseReleaseEvent(me);
+    QVTKWidget2::mouseReleaseEvent(me);
   }
 
   if (m_ResendQtEvents)
@@ -167,7 +167,7 @@ void QmitkRenderWindow::mouseMoveEvent(QMouseEvent *me)
   { // TODO: INTERACTION_LEGACY
     mitk::MouseEvent myevent(QmitkEventAdapter::AdaptMouseEvent(m_Renderer, me));
     this->mouseMoveMitkEvent(&myevent);
-    QVTKWidget::mouseMoveEvent(me);
+    QVTKWidget2::mouseMoveEvent(me);
   }
 }
 
@@ -183,7 +183,7 @@ void QmitkRenderWindow::wheelEvent(QWheelEvent *we)
   { // TODO: INTERACTION_LEGACY
     mitk::WheelEvent myevent(QmitkEventAdapter::AdaptWheelEvent(m_Renderer, we));
     this->wheelMitkEvent(&myevent);
-    QVTKWidget::wheelEvent(we);
+    QVTKWidget2::wheelEvent(we);
   }
 
   if (m_ResendQtEvents)
@@ -202,7 +202,7 @@ void QmitkRenderWindow::keyPressEvent(QKeyEvent *ke)
     mitk::KeyEvent mke(QmitkEventAdapter::AdaptKeyEvent(m_Renderer, ke, cp));
     this->keyPressMitkEvent(&mke);
     ke->accept();
-    QVTKWidget::keyPressEvent(ke);
+    QVTKWidget2::keyPressEvent(ke);
   }
 
   if (m_ResendQtEvents)
@@ -212,7 +212,7 @@ void QmitkRenderWindow::keyPressEvent(QKeyEvent *ke)
 void QmitkRenderWindow::enterEvent(QEvent *e)
 {
   // TODO implement new event
-  QVTKWidget::enterEvent(e);
+  QVTKWidget2::enterEvent(e);
 }
 
 void QmitkRenderWindow::DeferredHideMenu()
@@ -232,7 +232,7 @@ void QmitkRenderWindow::leaveEvent(QEvent *e)
   if (m_MenuWidget)
     m_MenuWidget->smoothHide();
 
-  QVTKWidget::leaveEvent(e);
+  QVTKWidget2::leaveEvent(e);
 }
 
 void QmitkRenderWindow::paintEvent(QPaintEvent* /*event*/)
@@ -245,14 +245,14 @@ void QmitkRenderWindow::resizeEvent(QResizeEvent* event)
 {
   this->resizeMitkEvent(event->size().width(), event->size().height());
 
-  QVTKWidget::resizeEvent(event);
+  QVTKWidget2::resizeEvent(event);
 
   emit resized();
 }
 
 void QmitkRenderWindow::moveEvent(QMoveEvent* event)
 {
-  QVTKWidget::moveEvent(event);
+  QVTKWidget2::moveEvent(event);
 
   // after a move the overlays need to be positioned
   emit moved();
@@ -260,7 +260,7 @@ void QmitkRenderWindow::moveEvent(QMoveEvent* event)
 
 void QmitkRenderWindow::showEvent(QShowEvent* event)
 {
-  QVTKWidget::showEvent(event);
+  QVTKWidget2::showEvent(event);
 
   // this singleshot is necessary to have the overlays positioned correctly after initial show
   // simple call of moved() is no use here!!
@@ -339,8 +339,8 @@ void QmitkRenderWindow::dropEvent(QDropEvent * event)
   if (!dataNodeList.empty())
   {
     emit NodesDropped(this, dataNodeList.toVector().toStdVector());
+    }
   }
-}
 
 mitk::Point2D QmitkRenderWindow::GetMousePosition(QMouseEvent* me) const
 {diff --git a/Modules/QtWidgets/QmitkRenderWindow.h b/Modules/QtWidgets/QmitkRenderWindow.h
index ae24232..5e0aa84 100644
--- a/Modules/QtWidgets/QmitkRenderWindow.h
+++ b/Modules/QtWidgets/QmitkRenderWindow.h
@@ -20,7 +20,8 @@
 #include "mitkRenderWindowBase.h"
 
 #include <MitkQtWidgetsExports.h>
-#include "QVTKWidget.h"
+#include "QVTKWidget2.h"
+#include <vtkGenericOpenGLRenderWindow.h>
 #include "QmitkRenderWindowMenu.h"
 
 #include "mitkInteractionEventConst.h"
@@ -35,7 +36,7 @@ class QInputEvent;
  * \ingroup QmitkModule
  * \brief MITK implementation of the QVTKWidget
  */
-class QMITK_EXPORT QmitkRenderWindow: public QVTKWidget, public mitk::RenderWindowBase
+class QMITK_EXPORT QmitkRenderWindow: public QVTKWidget2, public mitk::RenderWindowBase
 {
 Q_OBJECT
 