diff --git a/GUI/View/SampleDesigner/SampleEditor.cpp b/GUI/View/SampleDesigner/SampleEditor.cpp
index 2b1a323f2afb08d1a3fc7943b402535dc90de950..71c0593546569540e235ee4b41eb6056b7474555 100644
--- a/GUI/View/SampleDesigner/SampleEditor.cpp
+++ b/GUI/View/SampleDesigner/SampleEditor.cpp
@@ -65,7 +65,7 @@ void SampleEditor::setCurrentSample(SampleItem* sampleItem)
 
     createLayerColors();
 
-    m_currentSampleWidget = new SampleForm(this, m_currentSample, ec);
+    m_currentSampleWidget = new SampleForm(m_currentSample, ec);
     ec->setSampleForm(m_currentSampleWidget);
     m_currentSampleWidget->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
     QScrollArea::setWidget(m_currentSampleWidget);
diff --git a/GUI/View/SampleDesigner/SampleEditor.h b/GUI/View/SampleDesigner/SampleEditor.h
index afc9dab54a4d1ab38342dad8b464fb59fe6c80a0..f4b4e80eed82279e5d12d1e3426d1dd56e79f1c4 100644
--- a/GUI/View/SampleDesigner/SampleEditor.h
+++ b/GUI/View/SampleDesigner/SampleEditor.h
@@ -20,7 +20,6 @@
 
 class Item3D;
 class ProjectDocument;
-class QScrollArea;
 class SampleEditorController;
 class SampleForm;
 class SampleItem;
diff --git a/GUI/View/SampleDesigner/SampleForm.cpp b/GUI/View/SampleDesigner/SampleForm.cpp
index 84ac95374796b7d5f7a4e61b726b4eb0b311570c..a0f4758853ee297fdf508102b76191ceffee11bf 100644
--- a/GUI/View/SampleDesigner/SampleForm.cpp
+++ b/GUI/View/SampleDesigner/SampleForm.cpp
@@ -56,26 +56,29 @@ public:
 } // namespace
 
 
-SampleForm::SampleForm(QWidget* parent, SampleItem* sampleItem, SampleEditorController* ec)
-    : CollapsibleGroupBox("Summary and layer-independent parameters", parent,
-                          sampleItem->expandInfo)
-    , m_sampleItem(sampleItem)
+SampleForm::SampleForm(SampleItem* sampleItem, SampleEditorController* ec)
+    : m_sampleItem(sampleItem)
     , m_ec(ec)
 {
-    setObjectName("MultiLayerForm"); // important for style sheet addressing
     setAttribute(Qt::WA_StyledBackground, true);
 
-    m_layout = new HeinzFormLayout(ec);
-    body()->setLayout(m_layout);
+    m_layout = new QVBoxLayout(this);
+
+    auto* summary = new CollapsibleGroupBox("Summary and layer-independent parameters", this,
+                                            sampleItem->expandInfo);
+    m_layout->addWidget(summary);
+
+    auto* gLayout = new HeinzFormLayout(ec);
+    summary->body()->setLayout(gLayout);
 
     auto* nameEdit = new QLineEdit;
-    m_layout->addRow("Name:", nameEdit);
+    gLayout->addRow("Name:", nameEdit);
     nameEdit->setText(sampleItem->sampleName());
     nameEdit->setFixedWidth(585);
     connect(nameEdit, &QLineEdit::textEdited, ec, &SampleEditorController::setSampleName);
 
     auto* descriptionEdit = new QTextEdit;
-    m_layout->addRow("Description:", descriptionEdit);
+    gLayout->addRow("Description:", descriptionEdit);
     descriptionEdit->setFixedWidth(585);
     descriptionEdit->setFixedHeight(60);
     descriptionEdit->setAcceptRichText(false);
@@ -85,7 +88,7 @@ SampleForm::SampleForm(QWidget* parent, SampleItem* sampleItem, SampleEditorCont
         m_ec->setSampleDescription(descriptionEdit->toPlainText());
     });
 
-    m_layout->addValue(sampleItem->crossCorrLength());
+    gLayout->addValue(sampleItem->crossCorrLength());
 
     // Processing external field is not implemented yet, so temporary disable it (see issue #654)
     // m_layout->addVector(sampleItem->externalField(), false);
@@ -93,7 +96,7 @@ SampleForm::SampleForm(QWidget* parent, SampleItem* sampleItem, SampleEditorCont
     auto* showInRealspaceAction = ActionFactory::createShowInRealspaceAction(
         this, "sample", [this] { m_ec->requestViewInRealspace(m_sampleItem); });
 
-    addTitleAction(showInRealspaceAction);
+    summary->addTitleAction(showInRealspaceAction);
 
     for (auto* layer : sampleItem->layerItems()) {
         m_layout->addWidget(new AddLayerWidget(this, layer, m_ec));
@@ -109,10 +112,10 @@ void SampleForm::onLayerAdded(LayerItem* layerItem)
 
     const int rowInLayout = rowInMultiLayer * 2 + 1;
 
-    m_layout->insertRow(rowInLayout, new LayerForm(this, layerItem, m_ec));
+    m_layout->insertWidget(rowInLayout, new LayerForm(this, layerItem, m_ec));
 
     // same row => button is above!
-    m_layout->insertRow(rowInLayout, new AddLayerWidget(this, layerItem, m_ec));
+    m_layout->insertWidget(rowInLayout, new AddLayerWidget(this, layerItem, m_ec));
 }
 
 void SampleForm::onLayerMoved(LayerItem* layerItem)
@@ -140,10 +143,10 @@ void SampleForm::onLayerMoved(LayerItem* layerItem)
     const int rowInMultiLayer = m_sampleItem->layerItems().indexOf(layerItem);
     const int rowInLayout = rowInMultiLayer * 2 + 1;
 
-    m_layout->insertRow(rowInLayout, wl);
+    m_layout->insertWidget(rowInLayout, wl);
 
     // same row => button is above!
-    m_layout->insertRow(rowInLayout, al);
+    m_layout->insertWidget(rowInLayout, al);
 }
 
 void SampleForm::onAboutToRemoveLayer(LayerItem* layerItem)
diff --git a/GUI/View/SampleDesigner/SampleForm.h b/GUI/View/SampleDesigner/SampleForm.h
index bcacb3de8d6253535337fb7404f0c6442e3e49d1..b9754c559e0331260d63e3c03f0e4d842d247717 100644
--- a/GUI/View/SampleDesigner/SampleForm.h
+++ b/GUI/View/SampleDesigner/SampleForm.h
@@ -15,20 +15,21 @@
 #ifndef BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEFORM_H
 #define BORNAGAIN_GUI_VIEW_SAMPLEDESIGNER_SAMPLEFORM_H
 
-#include "GUI/View/Widget/GroupBoxes.h"
-#include <QPushButton>
+#include <QWidget>
 
 class HeinzFormLayout;
 class LayerForm;
 class LayerItem;
+class QPushButton;
+class QVBoxLayout;
 class SampleEditorController;
 class SampleItem;
 
 //! Form to present/edit a sample
-class SampleForm : public CollapsibleGroupBox {
+class SampleForm : public QWidget {
     Q_OBJECT
 public:
-    SampleForm(QWidget* parent, SampleItem* sampleItem, SampleEditorController* ec);
+    SampleForm(SampleItem* sampleItem, SampleEditorController* ec);
 
     //! Create widgets for the new layer.
     void onLayerAdded(LayerItem* layerItem);
@@ -50,7 +51,7 @@ public:
     LayerForm* findNextLayerForm(QWidget* w);
 
 private:
-    HeinzFormLayout* m_layout;
+    QVBoxLayout* m_layout;
     SampleItem* m_sampleItem;     //!< Ptr is borrowed, don't delete
     SampleEditorController* m_ec; //!< Ptr is borrowed, don't delete
     QList<QPushButton*> m_addLayerButtons;
diff --git a/GUI/View/SampleDesigner/SampleView.cpp b/GUI/View/SampleDesigner/SampleView.cpp
index f265cebb84bb052306bf91cce4ac9509d3a1585d..c42e0c10ba4c6a730b11139cd45e6440393964d5 100644
--- a/GUI/View/SampleDesigner/SampleView.cpp
+++ b/GUI/View/SampleDesigner/SampleView.cpp
@@ -31,7 +31,6 @@
 #include <QDockWidget>
 #include <QMenu>
 #include <QMessageBox>
-#include <QTabWidget>
 #include <QToolButton>
 #include <QWidgetAction>
 
@@ -66,14 +65,14 @@ SampleView::SampleView(QWidget* parent, ProjectDocument* document)
 
     //... Below central widget: realspace and script panels
 
-    auto* tabs = new QTabWidget;
-    vLayout->addWidget(tabs);
+    auto* hLayout2 = new QHBoxLayout;
+    vLayout->addLayout(hLayout2);
 
     m_realspacePanel = new RealspacePanel(this);
-    tabs->addTab(m_realspacePanel, "3D view");
+    hLayout2->addWidget(m_realspacePanel);
 
     auto* scriptPanel = new ScriptPanel(this);
-    tabs->addTab(scriptPanel, "Python");
+    hLayout2->addWidget(scriptPanel);
 
     //... Finish