diff --git a/GUI/View/Setup/AxesPanel.cpp b/GUI/View/Setup/AxesPanel.cpp
index 256ae9e367180bdb63cf46840ab2683873ed6556..5965b0143793798ec8f32aba1c3612232fd6f6a6 100644
--- a/GUI/View/Setup/AxesPanel.cpp
+++ b/GUI/View/Setup/AxesPanel.cpp
@@ -29,22 +29,15 @@
 #include <QLineEdit>
 
 AxesPanel::AxesPanel(QObject* item)
-    : m_main_layout(new QFormLayout(this))
-    , m_data_source(std::make_unique<DataSource>(item))
+    : m_data_source(std::make_unique<DataSource>(item))
 {
     setWindowTitle("Properties");
+    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
 
-    m_main_layout->setContentsMargins(8, 20, 8, 8);
-    m_main_layout->setSpacing(5);
-
-    createPanelElements();
-}
-
-AxesPanel::~AxesPanel() = default;
+    auto* main_layout = new QFormLayout(this);
 
-void AxesPanel::createPanelElements()
-{
-    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
+    main_layout->setContentsMargins(8, 20, 8, 8);
+    main_layout->setSpacing(5);
 
     if (m_data_source->allData2DItems().empty())
         return;
@@ -52,11 +45,11 @@ void AxesPanel::createPanelElements()
     for (auto* item : m_data_source->allData2DItems())
         disconnect(item, nullptr, this, nullptr);
 
-    GUI::Util::Layout::clearLayout(m_main_layout);
+    GUI::Util::Layout::clearLayout(main_layout);
     m_updaters.clear();
 
     /*
-    m_main_layout->addRow("Axes units:",
+    main_layout->addRow("Axes units:",
                          GUI::Util::createUnitsComboBox(
                              axesUnitsList(),
                              [this] { return currentData2DItem()->currentAxesUnits(); },
@@ -69,17 +62,17 @@ void AxesPanel::createPanelElements()
                              &m_updaters));
     */
 
-    m_main_layout->addRow(
-        "Color scheme:", GUI::Util::createComboBox(
-                             [this] { return m_data_source->currentData2DItem()->gradientCombo(); },
-                             [this](const QString& newVal) {
-                                 for (auto* item : m_data_source->allData2DItems())
-                                     item->setCurrentGradient(newVal);
-                                 gDoc->setModified();
-                             },
-                             false, &m_updaters));
+    main_layout->addRow("Color scheme:",
+                        GUI::Util::createComboBox(
+                            [this] { return m_data_source->currentData2DItem()->gradientCombo(); },
+                            [this](const QString& newVal) {
+                                for (auto* item : m_data_source->allData2DItems())
+                                    item->setCurrentGradient(newVal);
+                                gDoc->setModified();
+                            },
+                            false, &m_updaters));
 
-    m_main_layout->addRow(GUI::Util::createCheckBox(
+    main_layout->addRow(GUI::Util::createCheckBox(
         "Interpolate", [this] { return m_data_source->currentData2DItem()->isInterpolated(); },
         [this](bool b) {
             for (auto* item : m_data_source->allData2DItems())
@@ -114,7 +107,7 @@ void AxesPanel::createPanelElements()
                             },
                             &m_updaters));
 
-    m_main_layout->addRow(xGroup);
+    main_layout->addRow(xGroup);
 
     // -- y-axis
     auto* yGroup = new StaticGroupBox("Y axis", this);
@@ -142,7 +135,7 @@ void AxesPanel::createPanelElements()
                             },
                             &m_updaters));
 
-    m_main_layout->addRow(yGroup);
+    main_layout->addRow(yGroup);
 
     // -- color-axis
     auto* zGroup = new StaticGroupBox("Color legend", this);
@@ -208,7 +201,7 @@ void AxesPanel::createPanelElements()
         },
         &m_updaters));
 
-    m_main_layout->addRow(zGroup);
+    main_layout->addRow(zGroup);
 
     updateUIValues();
 
@@ -224,6 +217,8 @@ void AxesPanel::createPanelElements()
     */
 }
 
+AxesPanel::~AxesPanel() = default;
+
 void AxesPanel::updateItemCoords(DataItem* item)
 {
     if (!item)
diff --git a/GUI/View/Setup/AxesPanel.h b/GUI/View/Setup/AxesPanel.h
index 5e3a91766a7349d3264a55f8d7989febfe66a183..a8035edc16a6c033a27043b471a0e6bb60954b1d 100644
--- a/GUI/View/Setup/AxesPanel.h
+++ b/GUI/View/Setup/AxesPanel.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_GUI_VIEW_SETUP_AXESPANEL_H
 #define BORNAGAIN_GUI_VIEW_SETUP_AXESPANEL_H
 
-#include <QFormLayout>
 #include <QWidget>
 
 class DataItem;
@@ -31,9 +30,7 @@ public:
 private:
     void updateItemCoords(DataItem* item);
     void updateUIValues();
-    void createPanelElements();
 
-    QFormLayout* m_main_layout;
     QList<std::function<void()>> m_updaters;
 
     std::unique_ptr<DataSource> m_data_source;
diff --git a/GUI/View/Setup/AxisPanel.cpp b/GUI/View/Setup/AxisPanel.cpp
index cd2c4255b2f41d8c25a244e066bc31eeb518831c..be69a5f6b9ebe35300fde5d190356cffa8727875 100644
--- a/GUI/View/Setup/AxisPanel.cpp
+++ b/GUI/View/Setup/AxisPanel.cpp
@@ -35,29 +35,22 @@
 #include <QLineEdit>
 
 AxisPanel::AxisPanel(QObject* item)
-    : m_main_layout(new QFormLayout(this))
-    , m_data_source(std::make_unique<DataSource>(item))
+    : m_data_source(std::make_unique<DataSource>(item))
 {
     setWindowTitle("Properties");
-
-    m_main_layout->setContentsMargins(8, 20, 8, 8);
-    m_main_layout->setSpacing(5);
-    createPanelElements();
-}
-
-AxisPanel::~AxisPanel() = default;
-
-void AxisPanel::createPanelElements()
-{
     setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
 
+    auto* main_layout = new QFormLayout(this);
+    main_layout->setContentsMargins(8, 20, 8, 8);
+    main_layout->setSpacing(5);
+
     if (m_data_source->allData1DItems().empty())
         return;
 
     for (auto* item : m_data_source->allData1DItems())
         disconnect(item, nullptr, this, nullptr);
 
-    GUI::Util::Layout::clearLayout(m_main_layout);
+    GUI::Util::Layout::clearLayout(main_layout);
     m_updaters.clear();
 
     // -- x-axis
@@ -86,7 +79,7 @@ void AxisPanel::createPanelElements()
                             },
                             &m_updaters));
 
-    m_main_layout->addRow(xGroup);
+    main_layout->addRow(xGroup);
 
     // -- y-axis
     auto* yGroup = new StaticGroupBox("Y axis", this);
@@ -143,7 +136,7 @@ void AxisPanel::createPanelElements()
 
     yFormLayout->addRow("Log range:", logRangeSpinBox);
 
-    m_main_layout->addRow(yGroup);
+    main_layout->addRow(yGroup);
 
     updateUIValues();
 
@@ -157,6 +150,8 @@ void AxisPanel::createPanelElements()
                 Qt::UniqueConnection);
 }
 
+AxisPanel::~AxisPanel() = default;
+
 void AxisPanel::updateItemCoords(DataItem* item)
 {
     if (!item)
diff --git a/GUI/View/Setup/AxisPanel.h b/GUI/View/Setup/AxisPanel.h
index ebb52506743c1fe25a18f66ca975037d675aa217..0e6440bbc12ebd47698f201ac78dd3e593f38e41 100644
--- a/GUI/View/Setup/AxisPanel.h
+++ b/GUI/View/Setup/AxisPanel.h
@@ -15,7 +15,6 @@
 #ifndef BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H
 #define BORNAGAIN_GUI_VIEW_SETUP_AXISPANEL_H
 
-#include <QFormLayout>
 #include <QWidget>
 
 class DataItem;
@@ -31,9 +30,7 @@ public:
 private:
     void updateItemCoords(DataItem* item);
     void updateUIValues();
-    void createPanelElements();
 
-    QFormLayout* m_main_layout;
     QList<std::function<void()>> m_updaters;
 
     std::unique_ptr<DataSource> m_data_source;