diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp
index f0f7f598c63b082eb31d75379ee037dc877f39a2..beaa39c939a1446df174c53a72b2bd6e30a41bbd 100644
--- a/src/domain/UBGraphicsMediaItem.cpp
+++ b/src/domain/UBGraphicsMediaItem.cpp
@@ -76,10 +76,11 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
         mDummyVideoWidget->setMinimumSize(320, 240);
         mDummyVideoWidget->setWindowOpacity(0.0);
         
-        mVideoItem = new QGraphicsVideoItem();
+        mVideoItem = new QGraphicsVideoItem(this);
 
         // Necessary to allow the video to be displayed on secondary screen
         mVideoItem->setData(UBGraphicsItemData::ItemLayerType, UBItemLayerType::Object);
+        mVideoItem->setFlag(ItemStacksBehindParent, true);
 
         mMediaObject->setVideoOutput(mVideoItem);
 
@@ -179,13 +180,6 @@ QVariant UBGraphicsMediaItem::itemChange(GraphicsItemChange change, const QVaria
         }
     }
 
-    // Pass on geometry and position changes to the videoItem
-    else if (mVideoItem && change == QGraphicsItem::ItemTransformChange)
-        mVideoItem->setTransform(qvariant_cast<QTransform>(value));
-
-    else if (mVideoItem && change == QGraphicsItem::ItemPositionChange)
-        mVideoItem->setPos(qvariant_cast<QPointF>(value));
-
     return UBGraphicsProxyWidget::itemChange(change, value);
 }
 
@@ -353,34 +347,6 @@ void UBGraphicsMediaItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
 
 }
 
-void UBGraphicsMediaItem::setPos(const QPointF &pos)
-{
-   QGraphicsItem::setPos(pos);
-   if (mVideoItem)
-       mVideoItem->setPos(pos);
-}
-
-void UBGraphicsMediaItem::setPos(qreal x, qreal y)
-{
-    setPos(QPointF(x, y));
-}
-
-void UBGraphicsMediaItem::setMatrix(const QMatrix &matrix, bool combine)
-{
-    QGraphicsItem::setMatrix(matrix, combine);
-
-    if (mVideoItem)
-        mVideoItem->setMatrix(matrix, combine);
-}
-
-void UBGraphicsMediaItem::setTransform(const QTransform &matrix, bool combine)
-{
-    QGraphicsItem::setTransform(matrix, combine);
-
-    if (mVideoItem)
-        mVideoItem->setTransform(matrix, combine);
-}
-
 void UBGraphicsMediaItem::resize(const QSizeF & pSize)
 {
     // Resize the video, then the rest of the Item
diff --git a/src/domain/UBGraphicsMediaItem.h b/src/domain/UBGraphicsMediaItem.h
index d05c1871b21075e7e2df08499dcbbe441e2ff1a7..8014f85c63a84984fb9b820fb8376287ad0ef614 100644
--- a/src/domain/UBGraphicsMediaItem.h
+++ b/src/domain/UBGraphicsMediaItem.h
@@ -108,11 +108,6 @@ public:
 
     void setSelected(bool selected);
 
-    virtual void setPos(const QPointF &pos);
-    virtual void setPos(qreal x, qreal y);
-    virtual void setMatrix(const QMatrix &matrix, bool combine = false);
-    virtual void setTransform(const QTransform &matrix, bool combine = false);
-
 
 public slots:
 
diff --git a/src/domain/UBGraphicsProxyWidget.cpp b/src/domain/UBGraphicsProxyWidget.cpp
index 054ee6d263fda6a938c6d223d4d6cf0452577d32..efae1bca622f5d2378d09879ab61ee86b8936c3c 100644
--- a/src/domain/UBGraphicsProxyWidget.cpp
+++ b/src/domain/UBGraphicsProxyWidget.cpp
@@ -89,8 +89,12 @@ QVariant UBGraphicsProxyWidget::itemChange(GraphicsItemChange change, const QVar
         }
     }
 
-    QVariant newValue = Delegate()->itemChange(change, value);
-    return QGraphicsProxyWidget::itemChange(change, newValue);
+    if (Delegate()) {
+        QVariant newValue = Delegate()->itemChange(change, value);
+        return QGraphicsProxyWidget::itemChange(change, newValue);
+    }
+    else
+        return QGraphicsProxyWidget::itemChange(change, value);
 }
 
 void UBGraphicsProxyWidget::setUuid(const QUuid &pUuid)