diff --git a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
index f133c3c3e561ffeab5880449756fd5e21a36b5fe..d7e2cde266d8d3e544107de463131bc0f059d962 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.cpp
@@ -52,10 +52,17 @@ CMakeBuildEnvironmentWidget::CMakeBuildEnvironmentWidget(CMakeProject *project)
 
     connect(m_buildEnvironmentWidget, SIGNAL(userChangesUpdated()),
             this, SLOT(environmentModelUserChangesUpdated()));
+    connect(m_buildEnvironmentWidget, SIGNAL(detailsVisibleChanged(bool)),
+            this, SLOT(layoutFixup()));
     connect(m_clearSystemEnvironmentCheckBox, SIGNAL(toggled(bool)),
             this, SLOT(clearSystemEnvironmentCheckBoxClicked(bool)));
 }
 
+void CMakeBuildEnvironmentWidget::layoutFixup()
+{
+    fixupLayout(m_buildEnvironmentWidget->detailsWidget());
+}
+
 QString CMakeBuildEnvironmentWidget::displayName() const
 {
     return tr("Build Environment");
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
index ee79c99e116f254c62ed34142e083046eed2e3b2..b27f5f5755edf3715149716f0edb46a9def1e70e 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildenvironmentwidget.h
@@ -56,6 +56,7 @@ public:
 private slots:
     void environmentModelUserChangesUpdated();
     void clearSystemEnvironmentCheckBoxClicked(bool checked);
+    void layoutFixup();
 
 private:
     ProjectExplorer::EnvironmentWidget *m_buildEnvironmentWidget;