diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
index ef9b8601439dc65a982f5de3c1afb79b6b10c39f..e172f53cc0481b3bca04d9bf33a482cd0df68427 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
@@ -48,7 +48,7 @@ NavigatorTreeModel::NavigatorTreeModel(QObject *parent)
     setHorizontalHeaderItem(1,  new QStandardItem(tr("Type")));
     setHorizontalHeaderItem(2,  new QStandardItem(tr("Show in Editor")));
 
-    setSupportedDragActions(Qt::MoveAction);
+    setSupportedDragActions(Qt::LinkAction);
 
     connect(this, SIGNAL(itemChanged(QStandardItem*)),
             this, SLOT(handleChangedItem(QStandardItem*)));
@@ -60,7 +60,7 @@ NavigatorTreeModel::~NavigatorTreeModel()
 
 Qt::DropActions NavigatorTreeModel::supportedDropActions() const
 {
-    return Qt::MoveAction;
+    return Qt::LinkAction;
 }
 
 QStringList NavigatorTreeModel::mimeTypes() const
@@ -113,7 +113,7 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data,
 {
     if (action == Qt::IgnoreAction)
         return true;
-    if (action != Qt::MoveAction)
+    if (action != Qt::LinkAction)
         return false;
     if (!data->hasFormat("application/vnd.modelnode.list"))
         return false;
@@ -159,7 +159,8 @@ bool NavigatorTreeModel::dropMimeData(const QMimeData *data,
         if (!isAnchestorInList(node, nodeList)) {
             if (node.parentProperty().parentModelNode() != parentItemNode) {
                 QmlItemNode itemNode(node);
-                itemNode.setParent(parentItemNode);
+                if (node != parentItemNode)
+                    itemNode.setParent(parentItemNode);
             }
 
             if (node.parentProperty().isNodeListProperty()) {
diff --git a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
index 36a08386491502e04efe702e35d3f42dbe3307e5..761b256c6108d80bfc2a21ff2109e2d430f32aa7 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatorwidget.cpp
@@ -46,6 +46,7 @@ NavigatorWidget::NavigatorWidget(QWidget* parent) :
     m_treeView->setAcceptDrops(true);
     m_treeView->setSelectionMode(QAbstractItemView::ExtendedSelection);
     m_treeView->header()->setStretchLastSection(false);
+    m_treeView->setDefaultDropAction(Qt::LinkAction);
 
     QVBoxLayout *layout = new QVBoxLayout;
     layout->setSpacing(0);