diff --git a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.cpp b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.cpp
index 50465a8c3e7b7675a232d37f1256b326ef22980f..9fec4f73029540ff3385eebc285557d825b57434 100644
--- a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.cpp
+++ b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.cpp
@@ -28,9 +28,6 @@ RealSpaceWidget::RealSpaceWidget(SampleModel *sampleModel,
     , m_sampleModel(sampleModel)
     , m_selectionModel(selectionModel)
 {
-    setWindowTitle("Real Space");
-    setObjectName("Sample3DPanel");
-
     auto hlayout = new QHBoxLayout;
     hlayout->setMargin(0);
     hlayout->setSpacing(0);
@@ -63,11 +60,6 @@ RealSpaceWidget::RealSpaceWidget(SampleModel *sampleModel,
 
 }
 
-QSize RealSpaceWidget::sizeHint() const
-{
-    return QSize(300, 300);
-}
-
 void RealSpaceWidget::showEvent(QShowEvent*)
 {
     m_canvas->setModel(m_sampleModel, m_selectionModel);
diff --git a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.h b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.h
index ca5bca9b3b18300f5adb9f99ae27bc402618f18a..5b876e212179a4f076d9388ffe85c032f34ed4c5 100644
--- a/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.h
+++ b/GUI/coregui/Views/RealSpaceWidgets/RealSpaceWidget.h
@@ -35,8 +35,6 @@ public:
     RealSpaceWidget(SampleModel* sampleModel = nullptr,
                     QItemSelectionModel* selectionModel = nullptr, QWidget* parent = nullptr);
 
-    QSize sizeHint() const override;
-
 protected:
     void showEvent(QShowEvent*) override;
     void hideEvent(QHideEvent*) override;
diff --git a/GUI/coregui/Views/SampleDesigner/RealSpacePanel.cpp b/GUI/coregui/Views/SampleDesigner/RealSpacePanel.cpp
index bc95324a0bb7f7675d94fd933d25e1edd2aab3fb..9d52ca570c9bc927ca2638b09a53ca4f04ff93dc 100644
--- a/GUI/coregui/Views/SampleDesigner/RealSpacePanel.cpp
+++ b/GUI/coregui/Views/SampleDesigner/RealSpacePanel.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      GUI/coregui/Views/RealSpaceWidgets/RealSpacePanel.cpp
+//! @file      GUI/coregui/Views/SampleDesigner/RealSpacePanel.cpp
 //! @brief     Implements class RealSpacePanel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -13,79 +13,33 @@
 // ************************************************************************** //
 
 #include "RealSpacePanel.h"
-#include "mainwindow_constants.h"
-#include "ComponentEditor.h"
-#include "FilterPropertyProxy.h"
-#include "SampleModel.h"
-#include <QTreeView>
-#include <QItemSelectionModel>
+#ifdef BORNAGAIN_OPENGL
+#include "RealSpaceWidget.h"
+#endif
 #include <QVBoxLayout>
-#include <QDebug>
 
-RealSpacePanel::RealSpacePanel(QWidget* parent)
+RealSpacePanel::RealSpacePanel(SampleModel* sampleModel, QItemSelectionModel* selectionModel,
+                               QWidget* parent)
     : QWidget(parent)
-    , m_treeView(new QTreeView)
-    , m_componentEditor(new ComponentEditor)
-    , m_model(nullptr)
-    , m_proxy(nullptr)
+    , m_realSpaceWidget(nullptr)
 {
-    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
+    setWindowTitle("Real Space");
+    setObjectName("Sample3DPanel");
 
-    QVBoxLayout* layout = new QVBoxLayout;
+    auto layout = new QVBoxLayout;
     layout->setMargin(0);
     layout->setSpacing(0);
     layout->setContentsMargins(0, 0, 0, 0);
 
-    layout->addWidget(m_treeView);
-    layout->addWidget(m_componentEditor);
+#ifdef BORNAGAIN_OPENGL
+    m_realSpaceWidget = new RealSpaceWidget(sampleModel, selectionModel, this);
+    layout->addWidget(m_realSpaceWidget);
+#endif
 
     setLayout(layout);
 }
 
-void RealSpacePanel::setModel(SampleModel* model)
-{
-    m_model = model;
-
-    delete m_proxy;
-    m_proxy = new FilterPropertyProxy(1, this);
-    m_proxy->setSourceModel(model);
-    m_treeView->setModel(m_proxy);
-    m_treeView->setAttribute(Qt::WA_MacShowFocusRect, false);
-
-    m_treeView->expandAll();
-
-    connect(m_model, &SampleModel::rowsInserted, this, [=](){m_treeView->expandAll();});
-
-    connect(m_treeView->selectionModel(), &QItemSelectionModel::selectionChanged,
-            this, &RealSpacePanel::onSelectionChanged, Qt::UniqueConnection);
-}
-
 QSize RealSpacePanel::sizeHint() const
 {
-    return QSize(static_cast<int>(Constants::hint_panel_width*1.3), 256);
-
-}
-
-QSize RealSpacePanel::minimumSizeHint() const
-{
-    return QSize(static_cast<int>(Constants::hint_panel_width*1.3), 63);
-}
-
-void RealSpacePanel::onSelectionChanged(const QItemSelection& selected, const QItemSelection&)
-{
-    qDebug() << "RealSpacePanel::onSelectionChanged";
-    Q_ASSERT(m_proxy);
-    Q_ASSERT(m_model);
-    QModelIndexList indices = selected.indexes();
-
-    if(indices.size()) {
-        QModelIndex index = m_proxy->mapToSource(indices.back());
-        SessionItem* item = m_model->itemForIndex(index);
-        Q_ASSERT(item);
-        m_componentEditor->setItem(item);
-        emit selectionChanged(index);
-    } else {
-        m_componentEditor->setItem(nullptr);
-        emit selectionChanged(QModelIndex());
-    }
+    return QSize(300, 300);
 }
diff --git a/GUI/coregui/Views/SampleDesigner/RealSpacePanel.h b/GUI/coregui/Views/SampleDesigner/RealSpacePanel.h
index a9874d5b5d494ab0bf353eb7f73a03f138e4b809..c1fb3fd9f2fba049fe1d3a3536f5322929620e18 100644
--- a/GUI/coregui/Views/SampleDesigner/RealSpacePanel.h
+++ b/GUI/coregui/Views/SampleDesigner/RealSpacePanel.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      GUI/coregui/Views/RealSpaceWidgets/RealSpacePanel.h
+//! @file      GUI/coregui/Views/SampleDesigner/RealSpacePanel.h
 //! @brief     Defines class RealSpacePanel
 //!
 //! @homepage  http://www.bornagainproject.org
@@ -18,11 +18,9 @@
 #include "WinDllMacros.h"
 #include <QWidget>
 
-class QTreeView;
-class ComponentEditor;
 class SampleModel;
-class FilterPropertyProxy;
-class QItemSelection;
+class QItemSelectionModel;
+class RealSpaceWidget;
 
 //! Panel with item selector, property editor on the right side of RealSpaceWidget.
 
@@ -31,24 +29,12 @@ class BA_CORE_API_ RealSpacePanel : public QWidget
     Q_OBJECT
 
 public:
-    RealSpacePanel(QWidget* parent = nullptr);
+    RealSpacePanel(SampleModel* sampleModel, QItemSelectionModel* selectionModel, QWidget* parent);
 
-    void setModel(SampleModel* model);
-
-    QSize sizeHint() const;
-    QSize minimumSizeHint() const;
-
-signals:
-    void selectionChanged(const QModelIndex& index);
-
-public slots:
-    void onSelectionChanged(const QItemSelection& selected, const QItemSelection&);
+    QSize sizeHint() const override;
 
 private:
-    QTreeView* m_treeView;
-    ComponentEditor* m_componentEditor;
-    SampleModel* m_model;
-    FilterPropertyProxy* m_proxy;
+    RealSpaceWidget* m_realSpaceWidget;
 };
 
 #endif // REALSPACEPANEL_H
diff --git a/GUI/coregui/Views/SampleDesigner/SampleViewDocks.cpp b/GUI/coregui/Views/SampleDesigner/SampleViewDocks.cpp
index 40f9a3c65b92490c99ab538e61c16e716542e088..ca0f2e9b79b1b172f6dd5b59acae2e524f986282 100644
--- a/GUI/coregui/Views/SampleDesigner/SampleViewDocks.cpp
+++ b/GUI/coregui/Views/SampleDesigner/SampleViewDocks.cpp
@@ -21,7 +21,7 @@
 #include "SampleTreeWidget.h"
 #include "SampleView.h"
 #include "SampleWidgetBox.h"
-#include "RealSpaceWidget.h"
+#include "RealSpacePanel.h"
 #include <QDockWidget>
 #include <QTreeView>
 #include <QAction>
@@ -33,14 +33,14 @@ SampleViewDocks::SampleViewDocks(SampleView* parent)
       m_propertyWidget(
           new SamplePropertyWidget(m_treeWidget->treeView()->selectionModel(), parent))
     , m_scriptPanel(new ScriptPanel(parent))
-    , m_realSpaceWidget(new RealSpaceWidget(parent->models()->sampleModel(),
+    , m_realSpacePanel(new RealSpacePanel(parent->models()->sampleModel(),
                                          m_treeWidget->treeView()->selectionModel(), parent))
 {
     addWidget(WIDGET_BOX, m_widgetBox, Qt::LeftDockWidgetArea);
     addWidget(SAMPLE_TREE, m_treeWidget, Qt::RightDockWidgetArea);
     addWidget(PROPERTY_EDITOR, m_propertyWidget, Qt::RightDockWidgetArea);
     addWidget(INFO, m_scriptPanel, Qt::BottomDockWidgetArea);
-    addWidget(REALSPACEPANEL, m_realSpaceWidget, Qt::BottomDockWidgetArea);
+    addWidget(REALSPACEPANEL, m_realSpacePanel, Qt::BottomDockWidgetArea);
 
     connect(m_scriptPanel, &ScriptPanel::widgetHeightRequest, this,
             &DocksController::setDockHeightForWidget);
diff --git a/GUI/coregui/Views/SampleDesigner/SampleViewDocks.h b/GUI/coregui/Views/SampleDesigner/SampleViewDocks.h
index 076c6e689ed642578456d325cc808a4bfb055c89..9680b9bbdacd8af71b4655bdeb7c80770c0f0fb0 100644
--- a/GUI/coregui/Views/SampleDesigner/SampleViewDocks.h
+++ b/GUI/coregui/Views/SampleDesigner/SampleViewDocks.h
@@ -23,7 +23,7 @@ class SampleTreeWidget;
 class SamplePropertyWidget;
 class SampleDesigner;
 class ScriptPanel;
-class RealSpaceWidget;
+class RealSpacePanel;
 class QAction;
 
 //! Holds all docked widgets for SampleView.
@@ -53,7 +53,7 @@ private:
     SampleTreeWidget* m_treeWidget;
     SamplePropertyWidget* m_propertyWidget;
     ScriptPanel* m_scriptPanel;
-    RealSpaceWidget* m_realSpaceWidget;
+    RealSpacePanel* m_realSpacePanel;
 };
 
 #endif
diff --git a/Tests/UnitTests/GUI/TestGUI.cpp b/Tests/UnitTests/GUI/TestGUI.cpp
index 8624af24ca81b91a1e29fe8c4971e4d3861e5e11..fe6863f39203bfe7435bd70d3234e28ade903489 100644
--- a/Tests/UnitTests/GUI/TestGUI.cpp
+++ b/Tests/UnitTests/GUI/TestGUI.cpp
@@ -35,7 +35,6 @@
 #include "TestProjectUtils.h"
 #include "TestPropertyRepeater.h"
 #include "TestProxyModelStrategy.h"
-#include "TestRealSpaceBuilderUtils.h"
 #include "TestSaveService.h"
 #include "TestSessionItemController.h"
 #include "TestSessionItem.h"
@@ -51,6 +50,9 @@
 #include "TestAxesItems.h"
 #include "TestMultiLayerItem.h"
 #include "TestSavingSpecularData.h"
+#ifdef BORNAGAIN_OPENGL
+#include "TestRealSpaceBuilderUtils.h"
+#endif
 
 int main(int argc, char** argv) {
     QCoreApplication app(argc, argv);