diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
index 9918b67ba9203466dbcc95d1837b1af6676ba502..8eaf7299fee36efad6e60947d418990453a6d578 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
@@ -160,6 +160,14 @@ void FormEditorItem::setAttentionHighlight(double value)
     update();
 }
 
+void FormEditorItem::setHighlightBoundingRect(bool highlight)
+{
+    if (m_highlightBoundingRect != highlight) {
+        m_highlightBoundingRect = highlight;
+        update();
+    }
+}
+
 FormEditorItem::~FormEditorItem()
 {
    scene()->removeItemFromHash(this);
@@ -202,7 +210,10 @@ void FormEditorItem::paintBoundingRect(QPainter *painter) const
             }
             break;
         case FormEditorScene::NormalMode: {
-                pen.setColor(Qt::gray);
+                if (m_highlightBoundingRect)
+                    pen.setColor("#AAAAAA");
+                else
+                    pen.setColor("#888888");
             }
             break;
     }
@@ -232,7 +243,7 @@ void FormEditorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *,
 
     painter->setRenderHint(QPainter::Antialiasing, false);
 
-    if (scene()->showBoundingRects())
+    if (scene()->showBoundingRects() || m_highlightBoundingRect)
         paintBoundingRect(painter);
 
     painter->restore();
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
index b5ffc769923b661a32fbd221ee3a286886e0d728..9594f4a17a5b3811058a555b40a8fb7fa6ce32e3 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.h
@@ -96,6 +96,8 @@ public:
 
     FormEditorView *formEditorView() const;
 
+    void setHighlightBoundingRect(bool highlight);
+
 protected:
     AbstractFormEditorTool* tool() const;
     void paintBoundingRect(QPainter *painter) const;
@@ -118,6 +120,7 @@ private: // variables
     QRectF m_boundingRect;
     double m_borderWidth;
     double m_opacity;
+    bool m_highlightBoundingRect;
 };
 
 
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
index c521d1935cae3065bc7cac15c446f625b9469184..be832802a7ab7d350e2027d9257538ffb5cb9594 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp
@@ -360,6 +360,16 @@ void FormEditorScene::clearFormEditorItems()
     }
 }
 
+void FormEditorScene::highlightBoundingRect(FormEditorItem *highlighItem)
+{
+    foreach(FormEditorItem *item, allFormEditorItems()) {
+        if (item == highlighItem)
+            item->setHighlightBoundingRect(true);
+        else
+            item->setHighlightBoundingRect(false);
+    }
+}
+
 void FormEditorScene::setShowBoundingRects(bool show)
 {
     m_showBoundingRects = show;
diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
index bc521fb02eea860b1ef2ba10abb5f0280f80d45d..ec1eebd22ec790d06e49ab5545416504fffe2ffb 100644
--- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
+++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.h
@@ -93,6 +93,8 @@ public:
 
     void clearFormEditorItems();
 
+    void highlightBoundingRect(FormEditorItem *formEditorItem);
+
 public slots:
     void setShowBoundingRects(bool show);
     bool showBoundingRects() const;
diff --git a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp
index 3588f9e4b260a98048dbb82a99b8a69212929e27..b0a03d137b7c15ec5ea24022882e7df5c17068c6 100644
--- a/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp
+++ b/src/plugins/qmldesigner/components/formeditor/selectiontool.cpp
@@ -134,6 +134,24 @@ void SelectionTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList,
 
     if (topSelectedItemIsMovable(itemList))
         view()->changeToMoveTool();
+
+
+    FormEditorItem *topSelectableItem = 0;
+
+    foreach(QGraphicsItem* item, itemList)
+    {
+        FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item);
+
+        if (formEditorItem
+            && !formEditorItem->qmlItemNode().isRootNode()
+            && (formEditorItem->qmlItemNode().hasShowContent() || !m_selectOnlyContentItems))
+        {
+            topSelectableItem = formEditorItem;
+            break;
+        }
+    }
+
+    scene()->highlightBoundingRect(topSelectableItem);
 }
 
 void SelectionTool::mouseReleaseEvent(const QList<QGraphicsItem*> &/*itemList*/,