diff --git a/share/qtcreator/qmldesigner/statesEditorQmlSources/stateslist.qml b/share/qtcreator/qmldesigner/statesEditorQmlSources/stateslist.qml
index 6095fb17dabb35153948d7817af726ab6e0044d2..df8cacedd6ebcc03bb070f638558c96bf419d63d 100644
--- a/share/qtcreator/qmldesigner/statesEditorQmlSources/stateslist.qml
+++ b/share/qtcreator/qmldesigner/statesEditorQmlSources/stateslist.qml
@@ -34,6 +34,7 @@ import QtQuick.Controls.Styles 1.1
 Rectangle {
     id: root
 
+    height: 136
     signal createNewState
     signal deleteState(int internalNodeId)
     signal duplicateCurrentState
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
index 913733733e610eb4bd107822de281ddf5ef7aab8..6814599bc2f5143567ed51dd130fc5127aa4b9af 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp
@@ -95,13 +95,12 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
     connect(m_qmlSourceUpdateShortcut, SIGNAL(activated()), this, SLOT(reloadQmlSource()));
 
     QVBoxLayout *layout = new QVBoxLayout(this);
-    setMinimumHeight(160);
     layout->setMargin(0);
     layout->setSpacing(0);
     QWidget *container = createWindowContainer(m_quickView.data());
     layout->addWidget(container);
-
     m_quickView->setResizeMode(QQuickView::SizeRootObjectToView);
+    container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 
     m_quickView->rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
     QColor highlightColor = palette().highlight().color();
@@ -111,8 +110,6 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
 
     m_quickView->rootContext()->setContextProperty("canAddNewStates", true);
 
-    setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred));
-
     setWindowTitle(tr("States", "Title of Editor widget"));
 
     // init the first load of the QML UI elements
@@ -137,11 +134,7 @@ void StatesEditorWidget::reloadQmlSource()
     connect(m_quickView->rootObject(), SIGNAL(currentStateInternalIdChanged()), m_statesEditorView.data(), SLOT(synchonizeCurrentStateFromWidget()));
     connect(m_quickView->rootObject(), SIGNAL(createNewState()), m_statesEditorView.data(), SLOT(createNewState()));
     connect(m_quickView->rootObject(), SIGNAL(deleteState(int)), m_statesEditorView.data(), SLOT(removeState(int)));
+    m_statesEditorView.data()->synchonizeCurrentStateFromWidget();
+    setMaximumHeight(m_quickView->initialSize().height());
 }
-
-QSize StatesEditorWidget::sizeHint() const
-{
-    return QSize(9999, 159);
-}
-
 }
diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
index 73fbc002deb78de554affdfd148802497ec74f9e..45f91028423e6ae0314da86c4ad47cf569c1412f 100644
--- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
+++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.h
@@ -56,8 +56,6 @@ public:
     StatesEditorWidget(StatesEditorView *m_statesEditorView, StatesEditorModel *statesEditorModel);
     virtual ~StatesEditorWidget();
 
-    QSize sizeHint() const;
-
     int currentStateInternalId() const;
     void setCurrentStateInternalId(int internalId);
     void setNodeInstanceView(NodeInstanceView *nodeInstanceView);